假設我有以下標記:如何解除綁定使用一種方法的jQuery中的事件?
<div class="button">1</div>
<div class="button">2</div>
<div class="button">3</div>
<div class="button">4</div>
我有以下的jQuery代碼:
$(".button").one('mouseenter', function() {
console.log("A button was pressed for the first time")
$(".button").on('mouseenter', function(){
console.log("One button has already been pressed once")
})
});
問題是一個事件附加到所有四個按鈕。因此,如果我將鼠標懸停在第一個按鈕上,然後再按第一個按鈕,那麼一切都很順利,但如果我在第一個鼠標懸停之後將鼠標懸停在第二個按鈕上,則會再次觸發一個方法。如果我可以這樣做:
$(".button").one('mouseenter', function() {
console.log("A button was pressed for the first time")
$(".button").on('mouseenter', function(){
console.log("One button has already been pressed once")
})
//Remove event attached with one method from all buttons
});
這樣一個方法不會觸發多次。但jquery說附加事件on
方法只能刪除。
那麼是否有任何方法來解除綁定使用一種方法的jQuery中的事件?
我用'one',因爲我想在此之後同樣的事情,其他的懸停事件做一些事情上的第一懸停特殊。 – user31782
@ user31782:是的,這對單個元素非常有用,但對於其中的一個元素來說卻不是那麼好,因爲它的「一次」效果是基於每個元素的。 –
但是現在用你的方法,如果我從所有按鈕中刪除'one',那麼它應該可以正常工作。那麼你爲什麼說_這裏沒有爲你做任何事情? – user31782