如何解除自定义对象中的所有事件?

时间:2014-11-12 09:17:32

标签: javascript jquery

问题是这个对象的选择器可能不同。

$('body').on('submit','form',function(){});
$('.container').on('submit','form',function(){});
$('.container').on('submit','#myform',function(){});

而且我不知道如何解开所有这些事件。 我可以使用off();功能

但对于每个选择器我都不能;因为有大量的选择者; 我如何从#myform中删除每个事件?

2 个答案:

答案 0 :(得分:2)

你可以这样做:

$("#myform").children().off();

或者您也可以使用*

$("#myform *").off();

答案 1 :(得分:2)

因为你也想处理委托处理程序

$("#myform").off('submit');//remove the submit handlers attached to the form
$("#myform").parents().off('submit', '#myform');//remove all submit delegated handlers registered to ancestor elements
//this is dangerous because it could remove common handlers
$("#myform").parents().off('submit', 'form');//but I don't think there is another easy way