从来没有遇到过这个问题,任何人都可以给我任何指示吗?
我正在创建一个网络应用程序来做笔记,比如将笔记贴到白板上。目前,生成按钮将生成注释,但我想这样做,以便用户可以单击画布(白板)上的任何位置,它将在该位置生成一个新注释。
这是代码: -
$("#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();
});
当用户单击其中一个便笺时会出现问题,因为每次用户单击便笺创建另一个便笺时便将便笺克隆到画布中。我想停止这种行为,并且仅在用户单击空白画布区域时创建注释。我已经尝试过 preventDefauly、stopPropagation 和 stopImmediate ......但它们似乎都没有任何影响。
我还尝试过其他操作,例如点击笔记,但似乎无法在正确的位置找到正确的操作?还是我会以完全错误的方式解决这个问题?
这里的例子:
http://www.kryptonite-dove.com/sandbox/animate
更新:
$('#canvas').on('click', '.note', function(e) {
e.stopPropagation();
});
这解决了笔记冒泡的问题,但是它现在阻止了笔记类上的任何点击操作,我在这里处于未知水域!将不胜感激有关如何使单击操作恢复为注释标题和文本工作的任何指示:)