我正在使用Remy Sharp的jQuery插件MouseHold Event,我尝试用.on()方法绑定它,但是,它不起作用。
$('#button').mousehold(function() {
console.log(1);
});
如果#button在DOM中,上面的代码可以正常工作,但如果按钮是动态创建的话,则不行。
那么,任何人都可以帮助我吗?如何将mousehold事件与.on()方法绑定,以使以下代码有效?
$('body').on('mousehold', '#button', function() {
console.log(1);
});
答案 0 :(得分:0)
Remy Sharp's $.fn.mousehold
是一个jQuery插件而不是Event类型,你不能使用.on()
或任何事件处理程序绑定来绑定它。
我把一个$.fn.mousehold
插件放在一起,与委托一起工作。方法签名是:
<强>
.mousehold( [selector], handler(eventObject) [, delay] )
强>
selector
:一个选择器字符串,用于过滤触发事件的所选元素的后代。如果选择器为null
或省略,则事件始终在到达所选元素时触发。
handler(eventObject)
:触发事件时执行的函数。值false
也可以作为简单返回false
的函数的简写。
delay
:一个数字,用于确定连续触发前等待的毫秒数。默认值为100
。
示例:
$('#button').mousehold(function(evt) {
console.log(evt.times);
});
$(document).mousehold("#button", function() {
console.log(evt.times);
}, 200);