所以我基本上有一个 .click 事件,它执行 e.preventDefault()。但是,一旦代码执行完毕,我希望它在解除绑定(bind)后重新执行事件。
所有这一切的背景是,我正在尝试使用谷歌分析 (analytics.js) 设置出站链接事件跟踪。
<a href="http://www.example.com/" id="link1"><img /></a>
<script>
$("#link1").click(function(e) {
e.preventDefault();
ga('send', 'event',
'category',
'action',
'label',
{
'hitCallback': function() {
$(this).unbind(e).trigger("click");
}
}
);
});
</script>
此设置是必需的,否则页面会在事件发送之前终止。 另外,我想让代码片段尽可能独立,因为这个脚本会被复制粘贴到很多地方。
我希望有类似 e.sleepDefault() 的东西;和 e.wakeDefault();
最佳答案
试试这个:
$("#link1").click(function(e) {
e.preventDefault();
var url = $(this).prop('href');
ga('send', 'event',
'category',
'action',
'label',
{
'hitCallback': function() {
window.location = url;
}
}
);
});
关于javascript - jQuery - 我可以在它自己的处理程序中触发事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21428358/