javascript-区分单击和双击
作者:互联网
我有以下代码段用于区分点击和双击:
observeSingleAndDoubleClick: function (element, singleClickHandler, doubleClickHandler, timeout) {
var clicks;
$(element).observe('click', function (event) {
++clicks;
if (clicks === 1) {
var timeoutCallback = function (event) {
if (clicks === 1) {
singleClickHandler.call(this, event);
} else {
doubleClickHandler.call(this, event);
}
clicks = 0;
};
timeoutCallback.bind(this).delay(timeout / 1000);
}
}.bind(this));
}
问题:调用延迟回调时,该事件不再有效.虽然它可以在Firefox中使用,但不能在IE8中使用.传递给单击处理程序的事件对象是“死的”,因为事件本身已经传递.
任何人都有如何解决此问题的建议?
解决方法:
我知道OpenLayers项目有类似的目标.查看此文件中的第210行:OpenLayers.Handler.Click sourcecode.
我不知道如何在Prototype框架中使用它,但是我希望它可以帮助您找到正确的方法:)
另一件事:使用mouseUp事件而不是click会更好吗?
标签:javascript,prototypejs 来源: https://codeday.me/bug/20191102/1995050.html