我将元素从一个列表移动到另一个列表,问题是:
根据{{1}},我有<li>
的javascript绑定函数,如果我点击具有特定ID的<ul>
内的一个<li>
,则函数已被执行。< / p>
当我成功移动<ul>
时,假设<li>
已经在另一个<li>
(目标之一)中。但如果我点击新列表中的<ul>
,该事件仍会与来源<li>
如何将<ul>
与当前<li>
绑定?
感谢您的帮助。
<ul>
答案 0 :(得分:3)
当脚本第一次执行时事件被绑定,因此,在您的代码中,li
中的每个#sourceList
都有一个附加到第一个定义的事件侦听器的click事件,无论您是否移动元素到另一个容器与否。您需要使用事件委派:
$('#sourceList').on('click', 'li', function () {
$(this).appendTo('#destinationList');
console.log("from source");
});
$('#destinationList').on('click', 'li', function () {
$(this).appendTo('#sourceList');
console.log("from destination");
});