![](/img/trans.png)
[英]Unbind Events with JQuery: Does it work with events setup in HTML?
[英]Does the jQuery .unbind() method only work on jQuery created events?
我試圖取消綁定特定容器內的所有元素的所有事件處理程序。 像DIV一樣。 但是那些事件已被綁定/注冊而不是使用jQuery。 有些是使用onclick="...."
或使用常規本機JavaScript的手動方式綁定的。
但是,當我做這樣的事情
$('#TheDivContainer').find('div,td,tr,tbody,table').unbind();
它似乎不起作用。 這讓我相信.unbind()僅在事件最初由jQuery綁定時才有效。
真的嗎? 是否有另一種解除一組元素中所有事件的方法?
謝謝!
你是對的。 與API一樣 :
任何使用.bind()附加的處理程序都可以使用.unbind()刪除。
你總是可以這樣做:
$('#TheDivContainer').find('div,td,tr,tbody,table')
.unbind('click')
.attr('onclick', ''); // edited to change null to ''
適用於所有適當的事件類型。
Unbind只適用於jQuery創建的事件,因為執行此操作的所有方法(addEventListener和attachEvent)都需要將node,eventname 和 handler作為參數。 bind
負責為您存儲這些..
順便說一句,DOM0樣式事件偵聽器( .foo = function(...)
只能通過將相同的屬性設置為其他類似null
來刪除。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.