0
我遇到了jQuery的onmousedown奇怪的問題。我有一個插件,您可以向其中分配按鈕,並添加一些選項,比如:控制檯記錄器在一個mousedown上調用兩次
這種情況發生在這個插件$.lollipopbutton(".buttons button", {
bubble_color: "rgba(0,0,0,1)"
});
的一件事是,當你點擊按鈕,動畫會觸發。但是,我只想讓此動畫一次觸發x次。因此,我添加了選項maxClicks
(出於測試目的,默認值= 10)。此外,每個按鈕得到一個jQuery的數據元素保留一個計數器的軌跡:
counter = $this.data("counter") || 0;
我們就可以比較專櫃maxClicks選項:
if (counter <= args.maxClicks) {}
,並把我們只是要執行的功能在某一時刻出現了兩次:
if (counter <= args.maxClicks) {
// Do stuff
$this.data("counter", ++counter);
console.log(counter);
setTimeout(function() {
$this.children(".bubble:first").remove();
if (!$this.children(".bubble").length) {
$this.data("counter", --counter);
}
}, totalTimeout);
}
});
但奇怪的是,console.log()
每次點擊返回兩次,總是兩個連續的數字(如1 & 2,3 & 4,5 & 6等等)。
我嘗試了一切,但我無法找出問題所在。我在這裏錯過了什麼?插件(wip)可以在here in a fiddle找到。
我以爲我測試過它,顯然我沒有..謝謝。任何想法如何繞過這個問題? –
@BramVanroy,爲什麼沒有在mousedown處理程序之外初始化lollipopbutton? – AmmarCSE