所以给我的代码看起来像
this.$dropdownButton.off('click.fpmenu').on('click.fpmenu', function (evt) {});
哪里
this.$dropdownButton
是有效的按钮元素。
但是,如果在同一位置搜索.fpmenu(
$('.fpmenu')
),我什么也收不到。我尝试附加到
$dropdownButton
的开/关事件是否假设是fpmenu click函数的委托?如果找不到fpmenu,是否会导致事件未附加? 最佳答案
fpmenu
是事件处理程序的名称空间。这使jQuery可以删除特定的事件处理程序,而无需更改其他事件处理程序。
请参阅jQuery .on()
文档中的Event names and namespaces。
示例-单击按钮,查看调用了哪个事件处理程序
var button = $('button');
button.on('click.fpmenu', function () { console.log('fpmenu'); }); // add fpmenu named event
button.on('click.somethingElse', function () { console.log('somethingElse'); }); // add somethingElse named event
button.off('click.fpmenu'); // remove fpmenu named event
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>click me</button>