我運行了以下內容:解除綁定('點擊')移除onclick?
$("#myelement").unbind('click');
當我認爲在VS.NET 2010監視窗口$("#myelement")[0].onclick
,我看到"{...}".
應該unbind('click')
刪除onclick
事件?
我運行了以下內容:解除綁定('點擊')移除onclick?
$("#myelement").unbind('click');
當我認爲在VS.NET 2010監視窗口$("#myelement")[0].onclick
,我看到"{...}".
應該unbind('click')
刪除onclick
事件?
不,它不會刪除onclick
事件,如演示here所示。
綁定事件存儲在jQuery對象中,因此,unbind
只是從jQuery對象中移除事件。
unbind
將僅移除使用jQuery bind
方法和/或不推薦使用的live
方法附加的事件。
如果要重置使用jQuery實際onclick
事件,那麼就請使用下列方法之一:
$('#myelement').attr('onclick','');
$('#myelement').removeAttr('onclick');
如果你想添加一個事件,具體的元素的onclick
(不綁定jQuery的單擊事件),那麼只需使用以下命令:
$('#myelement').attr('onclick','alert(\'hello\')');
我強烈disadvise上面的方法雖然因爲我相信你可以欣賞,增加了功能,這將是一個有點棘手逃避所有的報價...
另外,我可能會建議你使用on
和off
jQuery的方法,而不是。雖然這些僅是jQuery中的較新版本可用時,它們是優選的方法如所述的位置:
在jQuery 1.7中,。對()方法是用於 事件處理程序安裝到一個文件的優選方法。對於早期版本, .bind()方法用於將事件處理程序直接附加到 元素。處理程序被附加到jQuery對象的當前選定元素 中,所以這些元素必須存在於發生.bind()的調用 處。要獲得更靈活的事件綁定,請參閱.on()或.delegate()中事件委託的討論 。
更多信息請參閱以下內容:
做完上述重置後,$('#myelement')。click(function(){...});努力與onclick聯繫新事件? – 4thSpace 2013-05-07 18:46:24
@ 4thSpace當然,它確實是 – 2013-05-07 18:47:09
@ 4thSpace Ooo等等,對不起,我誤解了你所說的。不是這樣,我會更新我的回答 – 2013-05-07 18:47:51
@MohammadAdil權,但附有onclick事件處理程序= 「...」 被解放與'.unbind()'?這是一個問題(至少我理解它的方式) – 2013-05-07 18:27:25
它消除了它們,因爲單擊元素不會觸發之前綁定的任何函數。 jQuery如何在「幕後」做這件事並不重要,但它可能不會將'onclick'設置爲null。 – 2013-05-07 18:28:55
檢查了這一點:http://jsfiddle.net/AwPnn/ – Aristos 2013-05-07 18:32:09