Javascript JQuery-appendTo()的问题

Javascript JQuery-appendTo()的问题,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我将元素从一个列表移动到另一个列表,问题是: 根据的不同,我将javascript函数绑定到,如果我单击一个中具有特定ID的中的一个,则函数例外 当我成功移动时,假定已经在另一个中(目标一个)。但是如果我在新列表中单击,事件仍然与源事件绑定 如何将与当前的绑定 谢谢你的帮助 <ul id="sourceList"> <li>element1</li> <li>element2</li> </ul> &l

我将元素从一个列表移动到另一个列表,问题是: 根据
    的不同,我将javascript函数绑定到
  • ,如果我单击一个
  • 中具有特定ID的
      中的一个
    • ,则函数例外

      当我成功移动
    • 时,假定
    • 已经在另一个
      中(目标一个)。但是如果我在新列表中单击
    • ,事件仍然与源事件绑定

      如何将
    • 与当前的
      绑定

      谢谢你的帮助

      <ul id="sourceList">
           <li>element1</li>
           <li>element2</li>
      </ul>
      
      <ul id="destinationList"></ul>
      
      <script>
      
              $('#sourceList li').click(function () {
                      $(this).appendTo('#destinationList');
                      console.log("from source");
                  });
      
              $('#destinationList li').on("click", function () {
                  $(this).appendTo('#sourceList');
                  console.log("from destination");
              });
      
      </script>
      
      • 要素1
      • 元素2
        $('#sourceList li')。单击(函数(){ $(this).appendTo(“#destinationList”); console.log(“来源”); }); $(“#目标列表li”)。在(“单击”,函数(){ $(this.appendTo(“#sourceList”); 控制台日志(“从目的地”); });
        事件在第一次执行脚本时被绑定,因此,在代码中,来自
        #sourceList
        的每个
        li
        都有一个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");
        });
        

        第一次执行脚本时会绑定事件,因此,在代码中,来自
        #sourceList
        的每个
        li
        都会将一个单击事件附加到第一个定义的事件侦听器,无论您是否将元素移动到另一个容器。您需要为此使用事件委派:

        $('#sourceList').on('click', 'li', function () {
            $(this).appendTo('#destinationList');
            console.log("from source");
        });
        
        $('#destinationList').on('click', 'li', function () {
            $(this).appendTo('#sourceList');
            console.log("from destination");
        });
        

        这是我的荣幸。不,对不起,我没有意识到,我要提出这个问题。不管怎样,你的答案是:)好的。我不知道,对不起,我没有意识到,我要提出这个问题。不管怎样,你的答案是:)#MVP,要么是
        谷歌翻译
        ,要么就是懂
        西班牙语
        ,他的个人资料说他在乌拉圭,所以我希望他懂西班牙语。哈哈洛尔,如果我没有MVP,不管是
        谷歌翻译还是只懂
        西班牙语,那就太奇怪了。他的个人资料说他在乌拉圭,所以我希望他懂西班牙语。哈哈洛尔,如果我不这么做,那就太奇怪了