簡體   English   中英

如何向按鈕添加第二個功能?

[英]How do I add a second function to a button?

假設我有一個標准的HTML鏈接,如下所示:

<a href='https://whateverdomain.com/whatever.pdf' class='pdf-download'>

我如何同時鏈接到.pdf 啟動jQuery函數?

到目前為止我寫過這個:

$('.pdf-download').addEventListener('click', function() {
  $.getJSON('/documents/email', function(email) {
    if (email.documentID && email.message == 'success') {
      console.log('Sending email...');
    };
  },
false);

但這只會阻止我的按鈕被點擊。 我應該提一下,聽眾是更大功能的一部分:

function checkForAnswers() {
  var count = $('.pdf-checklist').filter(function() {
    return $(this).val() !== "";
  }).length;
  var total = $('.pdf-checklist').length;

  $('.pdf-download').addEventListener('click', function() {
    $.getJSON('/documents/email_press_ad', function(email) {
      if (email.documentID && email.message == 'success') {
        console.log('Sending email...');
      };
  }, false);

  if (count == total) {
    $('.pdf-download').removeClass('disabled');
    $('.pdf-download').removeAttr('disabled');
  } else {
    $('.pdf-download').addClass('disabled');
    $('.pdf-download').attr('disabled', 'disabled');
  }
  console.log(count + '/' + total);
}

$('.pdf-checklist').on('keyup', checkForAnswers);

您可以嘗試將其與on綁定

$(".pdf-download").on("click", function (e) {
    e.preventDefault();
    //do your stuff.

    //navigate to a click href via window.location
    window.location = $(this).attr('href');
});

因此,您取消單擊默認事件並在代碼完成后手動強制更改URL。

根據評論編輯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM