这看似简单。
如何使用JavaScript覆盖以下HTML中的onclick事件?
<a id="sample" href="..." onclick="alert('hello world')" />...</a>
我已经尝试过使用jQuery,但这并不能解决问题:
$('#sample').attr('onclick','alert("done")')
假设HTML是预先编写的,除了使用JavaScript操作之外无法更改。
答案 0 :(得分:50)
试试这个:
// Setting the DOM element's onclick to null removes
// the inline click handler
$("#sample")[0].onclick = null;
$("#sample").click(function() { alert("done") });
答案 1 :(得分:6)
<a id="sample" href="..." onclick="alert('hello world'); return false;" />...</a>
或者
$('#sample').attr('onclick','alert("done"); return false;')
尽管能够直接在onclick或使用jQuery设置return false;
,但它实际上并不需要使用jQuery。好处是,无论出于何种原因,您的jQuery脚本都会导致404
,您的代码仍然有用。
我找到了答案here。
答案 2 :(得分:6)
这也可以在没有jQuery的情况下完成:
document.getElementById("sample").setAttribute('onclick','alert("done")');
答案 3 :(得分:1)