这看起来似乎很简单.
如何使用JavaScript覆盖以下HTML中的onclick事件?
<a id="sample" href="..." onclick="alert('hello world')" />...</a>
Run Code Online (Sandbox Code Playgroud)
我已经尝试过使用jQuery,但是这并不能解决问题:
$('#sample').attr('onclick','alert("done")')
Run Code Online (Sandbox Code Playgroud)
假设HTML是预先编写的,除了使用JavaScript操作之外无法更改.
And*_*are 53
试试这个:
// Setting the DOM element's onclick to null removes
// the inline click handler
$("#sample")[0].onclick = null;
$("#sample").click(function() { alert("done") });
Run Code Online (Sandbox Code Playgroud)
<a id="sample" href="..." onclick="alert('hello world'); return false;" />...</a>
Run Code Online (Sandbox Code Playgroud)
要么
$('#sample').attr('onclick','alert("done"); return false;')
Run Code Online (Sandbox Code Playgroud)
尽管能够return false;直接在onclick或使用jQuery设置,但它实际上并不需要使用jQuery.好处是,无论出于何种原因,您的jQuery脚本都会导致a 404,您的代码仍然有效.
我在这里找到了答案.
这也可以在没有jQuery的情况下完成:
document.getElementById("sample").setAttribute('onclick','alert("done")');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
58599 次 |
| 最近记录: |