我正在尝试将onClick事件添加到锚标记...
以前我有......
<a href="somlink.html" onClick="pageTracker._link(this.href); return false;">
但我试图避免内联onClick事件,因为它干扰了另一个脚本..
所以使用jQuery我正在尝试以下代码...
<script>
$(document).ready(function() {
$('a#tracked').attr('onClick').click(function() {window.onbeforeunload = null;
pageTracker._link(this.href);
return false;
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
跟html一样 <a id="tracked" href="something.html">
所以我的问题是这应该是有效的,如果不是最好的解决方案是什么?
rea*_*dow 15
正确的方法是(对于jQuery)
$('#tracked').click(function() {
pageTracker._link($(this).attr('href'));
return false;
});
Run Code Online (Sandbox Code Playgroud)
这将在具有跟踪id的任何元素上添加"onclick"事件.那里你可以做任何你想做的事.点击事件发生后,第一行将点击元素的href属性传递给pageTracker.
至于你原来的问题,它不会工作,它会引发未定义的错误.attr的工作方式有点不同.见文档.你使用它的方式,将返回属性的值,我认为在那种情况下它不可链接.如果您希望按照它的方式保留它,它应该如下所示:
$('#tracked').click(function() {
$(this).attr('onclick', 'pageTracker._link(this.href); return false;');
return false;
});
Run Code Online (Sandbox Code Playgroud)