如何取消绑定具有“onclick = xxx”的元素的click事件?

时间:2014-01-20 10:17:25

标签: javascript jquery

如何取消绑定具有"onclick=xxx"的元素的点击事件?

请参阅下面的代码:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<button id="a" onclick="a()">a</button>
<button onclick="test()">test</button>
<script type="text/javascript">
    function a(){
        alert('a');
    }
    function test(){
        // how can I remove the click function for #a?
        // code bellow not works
        $('#a').unbind('click');
    }
</script>

2 个答案:

答案 0 :(得分:3)

您应该使用:

$("#a").removeAttr("onclick");

或:

$("#a").prop("onclick", null);

答案 1 :(得分:1)

您只需使用jQuery's prop() method从元素中删除onclick属性:

$('#a').prop('onclick', null);

JSFiddle demo

你不应该像Milind Anantwar的回答中所说的那样使用removeAttr()`因为这在旧版本的IE中无法正常工作:

  

注意:使用.removeAttr()删除内联onclick事件处理程序并不能在Internet Explorer 6,7或8中实现所需的效果。

     

来源:jQuery's removeAttr() documentation