首页 > 代码库 > JS异步加载,JQ事件不被执行解决方法
JS异步加载,JQ事件不被执行解决方法
一,在我们实现动态生成HTML代码时会出现,使用JQ方法会不被执行,解决方法,如下:使用jquery的委托事件,将该方法委托到页面已经存在的一个节点上
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script src=http://www.mamicode.com/"jquery-1.11.1.js"></script> <script> $(function () { $("#demo").delegate(‘.t1‘, ‘click‘, function () { alert("t1"); }); $("#demo").delegate(‘#t2‘, ‘click‘, function () { alert("t2"); }); $("#demo").delegate(‘.t3‘, ‘click‘, function () { alert("t3"); }); $("#demo").delegate(‘#t4‘, ‘click‘, function () { alert("t4"); }); Test(); }); function Test() { var strHtml = "<div class=‘t1‘>t1</div>"; strHtml += "<div id=‘t2‘>t2</div>"; strHtml += "<div class=‘t3‘>t3</div>"; strHtml += "<div id=‘t4‘>t4</div>"; $("#demo").html(strHtml); } </script> </head> <body> <div id="demo"> </div> <div id="demo1"> </div> </body> </html>
二,经过以上测试,得出
1》使用class和id触发的写法是一样的
2》JS动态添加的HTML并不需要在绑定事件的节点内,一样可以触发成功
JS异步加载,JQ事件不被执行解决方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。