jQuery如何将onClick事件绑定到动态添加的HTML元素

jQuery如何将onClick事件绑定到动态添加的HTML元素

我想将onClick事件绑定到我用jQuery动态插入的元素。


但它从不运行绑定函数。如果您能指出这个示例不起作用的原因,以及如何让它正常运行,我会很高兴的:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"        

            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">

        <head>

          <title>test of click binding</title>


<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>

          <script type="text/javascript">



        jQuery(function(){

          close_link = $('<a class="" href="#">Click here to see an alert</a>');

          close_link.bind("click", function(){

            alert('hello from binded function call');

            //do stuff here...

          });

  

          $('.add_to_this').append(close_link);

        });

          </script>

        </head>

        <body>

          <h1 >Test of click binding</h1>

          <p>problem: to bind a click event to an element I append via JQuery.</p>


          <div class="add_to_this">

            <p>The link is created, then added here below:</p>

          </div>


          <div class="add_to_this">

            <p>Another is added here below:</p>

          </div>



        </body>

        </html>


一只名叫tom的猫
浏览 2999回答 3
3回答

牧羊人nacy

所有这些方法都是不推荐的。您应该使用on方法来解决你的问题。如果要以动态添加的元素为目标,则必须使用$(document).on('click',&nbsp;selector-to-your-element&nbsp;,&nbsp;function()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//code&nbsp;here&nbsp;....});这将替换不受欢迎的.live()方法。
打开App,查看更多内容
随时随地看视频慕课网APP