4
雙擊事件觸發時,如何取消單擊事件?雙擊事件觸發時如何取消單擊事件
我已經看了一些相關的,我發現的東西,但是工作
Need to cancel click/mouseup events when double-click event detected
function singleClick(e) {
// do something, "this" will be the DOM element
}
function doubleClick(e) {
// do something, "this" will be the DOM element
}
$(selector).click(function(e) {
var that = this;
setTimeout(function() {
var dblclick = parseInt($(that).data('double'), 10);
if (dblclick > 0) {
$(that).data('double', dblclick-1);
} else {
singleClick.call(that, e);
}
}, 300);
}).dblclick(function(e) {
$(this).data('double', 2);
doubleClick.call(this, e);
});
,如果我使用。對(「點擊」)來代替。點擊(),這個代碼不起作用。
任何想法,爲什麼這是?我不得不使用.on(),因此使用.click()不是一個選項。
'.click'調用'內部.on',所以它應該工作無論哪種方式。你打電話過得怎麼樣?如果必須使用事件委託,事情可能會有所不同。 – 2012-07-09 08:29:06
[點擊已經發生](http://www.w3.org/TR/DOM-Level-3-Events/#events-mouseevent-event-order)如果你需要雙擊表面值*如何做當雙擊事件觸發時,我取消單擊事件?*不起作用。 – Esailija 2012-07-09 08:32:43
@Esailija所以這意味着我不能取消,但我可以選擇忽略它呢? – arvinsim 2012-07-09 08:46:45