[英]Remove all the events attached to an element except one
如何使用jquery刪除除DOM元素之外的所有事件?
例如,我有一個下拉<select>
並附加了各種事件(例如單擊,雙擊,更改等)。 我要實現的只是將change
事件應用於它,並刪除所有其他事件。 我該如何實現?
PS我不知道該元素附帶的事件
$( "#foo").unbind( "click" );
填寫其余部分。 http://api.jquery.com/unbind/
$( "#foo").off();
將刪除附加到foo元素的所有事件
您也可以:
$( "#foo").off("click dblclick");
然后可以僅在onchange事件上附加foo元素
$("#foo").on("change",function(){
//Do stuff here
})
可能您可以使用類似以下的內容:
$.(selector).on('*',function(e)
{
if(e.which='value_for_your_event_eg._14_for_tab')
return true;
else
return false;
})
我不知道,我不是專家,但是我想這會起作用。
$._data(elem,'events')
不是公開支持的方法:
$.each($._data($('select').get(0),'events'),function(k){
if(k !== "change")
delete $._data($('select').get(0),'events')[k];
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.