我有一个很好的功能,模拟“长按”
(function($) {
$.fn.longClick = function(callback, timeout) {
var timer;
timeout = timeout || 500;
$(this).mousedown(function() {
timer = setTimeout(function() { callback(); }, timeout);
return false;
});
$(document).mouseup(function() {
clearTimeout(timer);
return false;
});
};
})(jQuery);
$('#button').longClick(function(){ /* everything I want */ })
此代码适用于所有已存在的项目。
但是,如果我通过 jQuery 将此按钮添加到 DOM,则该脚本也无法正常工作。
此构造也不适用于 longClick,但可以正确使用“click”:
$(document).on('longClick', "#button",function () {
/* everything I want */
});
我该如何解决?
谢谢!
===========
UPD
这是另一个代码,它适用于原始元素,但不适用于添加 jQuery,但它使用默认方法。
var pressTimer;
$("#button").mouseup(function(){
clearTimeout(pressTimer)
return false;
}).mousedown(function(){
pressTimer = window.setTimeout(function() {
/* function */
},500)
return false;
});