所以我得到的代码看起来像
this.$dropdownButton.off('click.fpmenu').on('click.fpmenu', function (evt) {});
哪里
this.$dropdownButton
是一个有效的按钮元素。
但是,在同一位置,如果我搜索 .fpmenu ( $('.fpmenu')
),我什么也得不到。
是我尝试附加到 $dropdownButton
的开/关事件吗?假设是fpmenu的点击功能的委托(delegate)?如果找不到fpmenu,是否会导致事件无法附加?
最佳答案
fpmenu
是事件处理程序的命名空间。这使得 jQuery 能够删除特定的事件处理程序,而无需更改其他事件处理程序。
参见Event names and namespaces在 jQuery 的 .on()
文档中。
示例 - 单击按钮并查看调用了哪个事件处理程序
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>
关于javascript - Jquery 开/关事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46738433/