所以给我的代码看起来像

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>

10-08 05:15