Şu anda sahip olduğum bir problemin çözümünü araştırdığımda, şu konuyu buldum: jQuery: more than one handler for same event. Şimdi bu işleyicilerin sadece bir tane kaldırmak mümkün olup olmadığını merak ediyorum?Belirli bir olay işleyicisini birden çok işleyici içeren bir olaydan kaldırmak mümkün mü?
cevap
değil kullanımı anonim geri aramalar yapmak eğer mümkündür: da
var $elt = $(...);
function clickHandler1(event){...}
function clickHandler2(event){...}
// bind both
$elt.click(clickHandler1);
$elt.click(clickHandler2);
// unbind just the first
$elt.unbind('click', clickHandler1);
bakınız: .unbind()
docs.
Vahşi Demo çıktı! : -D – maryisdead
Aslında olay için ad aracılığıyla anonim geri aramalar kullanarak bunu yapabilirsiniz:
$elt.bind('click.handler1', function(event) {
alert('click handler 1');
});
$elt.unbind('click.handler1');
modifiye demo here bakınız. Daha fazla bilgi için
Ve here.
Bu, sorulan sorudan 4 ay önce çıkmış olan jQuery 1.4.3 numaralı telefona eklenmiştir.
Parametreleri fonksiyonda iletebilir miyiz? –
Anonim geri bildirimi kullanırken bu gerçekten iyi bir yanıttır. Bunu seviyorum. –
Bu, çoğu çağrı/çağrı üzerine anonim bir işleve sahip olacağı için kabul edilen yanıt olmalıdır. – Omeed
- 1. Olay işleyicisini birden çok kez nasıl ekleyebiliriz?
- 2. Tek bir olay işleyicisini jQuery
- 3. Bir olay işleyicisini kaldırmalı mıyım?
- 4. Hangi ComboBox olay işleyicisini kullanmalıyım?
- 5. Bir olay işleyicisini ancak önceden mevcut değilse nasıl bağlayabilirsiniz?
- 6. Emberjs'te birden çok değeri filtrelemek mümkün mü?
- 7. Bir dizi panda komutunu birden çok satıra bölmek mümkün mü?
- 8. , tek bir işleyiciyi birden çok etkinliğe eklemek mümkün mü?
- 9. Tensorflow'da bir ağı birden çok GPU'ya bölmek mümkün mü?
- 10. Birden çok dinamik pivot ile bir sorgu yazmak mümkün mü?
- 11. Olay İşleyici Üzerinden Argümanlar Gönderme?
- 12. iOS Quicktype Klavye'yi kaldırmak ancak otomatik düzeltmeyi kaldırmak mümkün mü?
- 13. bir dizin içinde belirli adını içeren tüm dosyaları kaldırmak
- 14. ExpressJS'de belirli bir yol için bir orta yazılımı devre dışı bırakmak/kaldırmak mümkün mü?
- 15. Dinamik sınıftaki özellikleri kaldırmak mümkün mü?
- 16. Belirli bir veri kümesi için birden çok geçerli BST'ye sahip olmak mümkün mü?
- 17. KeyPress olay işleyicisini bulamıyorum C#
- 18. Bir öğe içeren bir ActionLink kullanmak mümkün mü?
- 19. Çok satırlı bir #warning yönergesi mümkün mü?
- 20. flexbox eklentilerini hareketlendirmek ve kaldırmak mümkün mü?
- 21. bir qt QColumnView önizleme aracını kaldırmak mümkün mü?
- 22. Bir TSpeedButton glifinin çevresindeki iğrenç anahatları kaldırmak mümkün mü?
- 23. Bir olay işleyicisini bir yöntem parametresi olarak nasıl geçiririm?
- 24. Javascript uygulamak olay onkeypress başka bir onkeypress olaydan
- 25. GWT - Aynı olay için birden fazla işleyici nasıl kullanılır
- 26. Önceden ayarlanmış bir jquery olay işleyicisini nasıl geçersiz kılarsınız?
- 27. StripesRuntimeException: Birden çok olay parametresi
- 28. Tıklatılan bir olaydan çağrı alma düğmesi
- 29. Birden çok sütun içeren bir Tablom var. Jface kullanarak her sütun girişinde bir radyo düğmesi oluşturmak mümkün mü?
- 30. birden çok sütun üzerinde birden terimlerle İÇEREN
Aynı etkinlik veya farklı etkinlikler için? –
Bu kolayca yapılamaz. Bir hack yapmalısın, jQuery bunun için tasarlanmamıştı. bunun yerine etkinlik adlarını kullanın. – Raynos
Bence olay işleyicisini bir değişkende saklarsanız, onu değişkendiğiniz şekilde değiştirebilirsin, ama değişkeni test etmemiştim. –