如何使用jQuery 1.4将额外的单击事件绑定到超链接?

时间:2013-12-11 12:44:36

标签: javascript jquery

我需要循环播放网页上的所有电子邮件链接。然后为每个人添加GA跟踪。所以下面我刚试过让绑定工作,但由于某种原因失败,并在我查看页面时尝试打开电子邮件客户端。

var emails = $('a[href^="mailto:"]');
for (var i = 0; i < emails.length; i++){
    var email = emails[i];
    email.click(function(e) {
        e.preventDefault();
        alert('test');
        //_gaq.push(['_trackEvent', 'Emails', $(this).pathname]);
    });
}

现在我想要在点击链接时显示弹出窗口,但它不起作用。

2 个答案:

答案 0 :(得分:3)

这会更直接:

  $('a[href^="mailto:"]').click(function(e){
       e.preventDefault();
       alert('test');
  })

jQuery伪装成其选择器选择的元素数组。通过以这种方式将处理程序应用于jQuery对象,它实际上将处理程序附加到满足选择条件的所有元素。

答案 1 :(得分:0)

您可以使用$.each这样的内容。

$( 'a[href^="mailto:"]' ).each(function() {
    $( this ).click(function(){
       e.preventDefault();
       alert('test');
       //_gaq.push(['_trackEvent', 'Emails', $(this).pathname]);
    });
});