Daha önce hiç rastlamadan kimse bana herhangi bir işaretçi verebilir mi?jQuery stopPropagation()?
Bir beyaz tahta üzerine notlar göndermek gibi notlar yapmak için bir web uygulaması oluşturuyorum. Şu anda, spawn butonu notalar üretecek ama bunu yapmak istedim ki, kullanıcı tuval üzerinde herhangi bir yere tıklayabilsin (beyaz tahta) ve bu pozisyonda yeni bir nota basacak. İşte
bunun için kod şudur: -$("#canvas").bind('click', function(e){
// Calculate offset for width, put box to the left top corner of the mouse click.
var x = e.pageX + "px";
var y = e.pageY + "px";
$("#note").clone().insertBefore("#insertAfter").attr("id", "note" + noteID).show();
$("#note" + noteID).children(".title").text("Note " + noteID);
$("#note" + noteID).css({left:x, top:y, "z-index" : zindex});
noteID++;
zindex++;
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
});
sorun ortaya çıktığında notlardan birini tıkladığında, notlar tuval içine her defasında klonlanmış çünkü onun oluşturmayı unutmayın tıkladığında başka bir not. Bu davranışı durdurmak ve bir kullanıcı boş bir tuval alanını tıkladığında SADECE bir not oluşturmak istiyorum. Haksızlığı durdurmayı, Durdurmayı durdurmayı ve durdurmayı denedim ... ama hiçbirinin bir etkisi yok gibi görünüyor.
Ayrıca bunları, not tıklaması gibi diğer eylemlerde de denedim, ancak doğru yerde doğru olanı göremiyorum. ya da bunu tamamen yanlış yoldan mı yapıyorum? Burada
örnek:
http://www.kryptonite-dove.com/sandbox/animate
GÜNCELLEME: Bu notlar artık not sınıfına hiçbir tıklama eylemleri engeller ancak kabardığını sorununu çözdü
$('#canvas').on('click', '.note', function(e) {
e.stopPropagation();
});
, ben varım Burada bilinmeyen sular! Not başlık ve metin için geri tıklama eylemleri geri almak için nasıl herhangi bir işaretçi takdir ediyorum :)
Parlak teşekkür ederim! harika bir açıklama, yoğun kod ve JS fiddle size galibiyet getirdi :) – KryptoniteDove
Splendid! eğer (e.target! = bu) geri dönerse; Eserleri! – saike