我的 ui 元素(图标)有问题,它是 draggable() 函数的持有者。该图标应仅在单击时附加一次。我的代码的问题是,当我单击图标时,它会再次运行代码并附加下一个图标。
在这种情况下如何避免事件传播。这里有没有更好的方法来使用 one() 函数。我的代码:
HTML结构:
<div class="editor">
<h1>Title</h2>
<p>paragraph</p>
<img src="">
</div>
<div class="editor">
<h1>Title</h2>
<p>paragraph</p>
<img src="">
</div>
<div class="editor">
<h1>Title</h2>
<p>paragraph</p>
<img src="">
</div>
JS:
$(document).on('click', '.editor *', function(event) {
$(this).resizable();
$(this).draggable({ handle: ".editor-move" });
$(this).one($(this).append("<i class='icon-move editor-move'></i>"));
return false;
});