「ロングクリック」をエミュレートする非常に優れた機能があります
(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;
});