Sürükle/bırak olaylarını bağlamak istediğim bir sayfam var. Tarayıcıdaki tüm sayfanın bırakma hedefi olmasını isterim. Bu nedenle, etkinliklerimi document
nesnesine bağladım. Uygulamamın içeriği, AJAX yoluyla ana içerik alanına yüklenir ve yükleme sayfası şu anda görünür durumda olduğunda yalnızca bu olay işleyicilerinin etkin olmasını isterim.Bir olay işleyicisini ancak önceden mevcut değilse nasıl bağlayabilirsiniz?
Şu anda, yükleme sayfası alındığında olay işleyicileriyle bağlantı kurarım; Ancak, yükleme sayfası her etkinleştirildiğinde, yeni bir olay işleyicisini bağlar; bu, işleyicinin, kullanıcı yükleme sayfasına gittiğinde, ayrıldığında ve sonra geri geldiğinde işleyicinin birden çok kez ateşlenmesine neden olur. İşleyiciyi ancak zaten bağlı olmadığında bağlayabilirsek bunu çözebileceğimi düşünüyordum. Bu mümkün mü, yoksa daha iyi bir alternatife mi bakıyorum?
İlgili kod, eğer yardımcı olur: yenilerini bağlayan
$(document).bind('dragenter', function(e) {
e.stopPropagation();
e.preventDefault();
}).bind('dragover', function(e) {
e.stopPropagation();
e.preventDefault();
}).bind('drop', function(e) {
e.stopPropagation();
e.preventDefault();
self._handleFileSelections(e.originalEvent.dataTransfer.files);
});
[jQuery onay olay elemana varsa] olası yinelenen (http://stackoverflow.com/questions/1515069/jquery-check-if-event-exists-on- element) – dgw