Никогда с этим не сталкивался, может кто-нибудь подскажет?
Я создаю веб-приложение для заметок, таких как размещение заметок на доске. На данный момент кнопка вызова порождает заметки, но я хочу сделать так, чтобы пользователь мог щелкнуть в любом месте холста (белой доски), и он будет создавать новую заметку в этой позиции.
Вот код для этого: -
$("#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();
});
Проблема возникает, когда пользователь нажимает на одну из заметок, поскольку заметки клонируются на холст каждый раз, когда пользователь нажимает на заметку, создавая другую заметку. Я хочу остановить это поведение и создать ТОЛЬКО заметку, когда пользователь нажимает на пустую область холста. Я пытался предотвратить, по умолчанию, остановить распространение и остановить немедленное ... но ни один из них, кажется, не имеет никакого влияния.
Я также пробовал их на других действиях, таких как щелчок примечания, но просто не могу найти нужное в нужном месте? или я иду по этому пути совершенно неправильно?
пример здесь:
http://www.kryptonite -dove.com / Песочница / одушевленные
UPDATE:
$('#canvas').on('click', '.note', function(e) {
e.stopPropagation();
});
Это решило проблему пузырей заметок, однако теперь оно предотвращает любые действия щелчка по классу заметок, я здесь в неизведанных водах! Буду признателен за любые указания о том, как вернуть действия щелчка для заголовка и текста заметки:)