2014-01-20 54 views
0

如何解除具有"onclick=xxx"的元素的點擊事件?如何解除具有「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> 

回答

1

您可以簡單地使用jQuery's prop() method從元素刪除onclick屬性:

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

JSFiddle demo

你不應該使用removeAttr()`在Milind Anantwar的回答說,因爲這不會在舊版本的IE中正常工作:

注:刪除使用內聯onclick事件處理程序.removeAttr()沒有按」 t在Internet Explorer 6,7或8中實現所需的效果。

來源:jQuery's removeAttr() documentation

+0

如何在jquery 1.4.2中做到這一點? –

+0

@ mingfish_004你可以用'attr()'來代替:'$('#a')。attr('onclick',null);'。你真的不應該使用jQuery 1.4.2;這是近4年前發佈的(http://blog.jquery.com/2010/02/19/jquery-142-released/)。 –

+0

非常感謝! –

3

您應該使用:

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

或:

$("#a").prop("onclick", null); 
相關問題