我知道已经有很多关于这个概念的文章,但我的问题有一点不同。
在我的页面上,我有一个链接:
<a id="mylink">click me </a>
然后我正在使用动态更改href:
$get('mylink').href = 'javascript:doSomething(id);';
碰巧我必须多次调用上面的代码,所以我用javascript代码覆盖href属性的当前值,调用具有不同id参数的相同函数。
以上是我用了很久的东西。但是,当我尝试实现 OnNavigateAway 以在用户关闭浏览器窗口时警告用户时,混乱开始了。当用户单击具有 href 属性值的锚点时,IE 也会触发此 onNavigateAway 事件。
所以我开始用jquery点击事件替换那些href:
$("#mylink").click(function (e) {
doSomething(id);
e.preventDefault();
});
但是请记住,这段代码可以被多次调用,所以我必须先取消绑定点击事件,然后再重新绑定:
function completed(result) {
$("#mylink").unbind('click');
$("#mylink").click(function (e) {
doSomething(result.id);
e.preventDefault();
});
}
这是处理我的javascript的好方法吗?还是这种绑定和解除绑定的东西不是好的做法?
另一种方法是使用 javascript 手动覆盖 onclick 属性。
你会怎么处理这个?
我期待着您的回复。