Ajax异步获取html数据中包含js方法无效的解决方法
页面上使用js写了一个获取后台数据的方法
function data() { var tab = $("#dic") $.ajax({ url: '../demo.ashx?method=GetList', data: {}, dataType: 'json', type: 'post', async: true, success: function (data) { //console.log(data); var parentStr = ''; $.each(data, function (i, item) { //console.log(item.text); parentStr += "<div class='pull-right'> <a class='morechange' href='javascript:;' style='visibility: visible;'>更多+</a></div>" }); tab.html(parentStr); } }) }
其中的
<a class='morechange' href='javascript:;' style='visibility: visible;'>更多+</a> 绑定一个点击时间
$('.morechange').click(function(){ alert("弹出") });
发现点击无效无效
原来是 ajax载入新dom之前js 就加载完了,事件当然没有绑定到新载入的dom上
解决方法:
使用jquery的委托事件,将该方法委托到页面已经存在的一个节点上
$("#dic").delegate('.morechange', 'click', function () { alert("弹出"); });
问题解决。
当然也可以不使用异步将async改为false也是可以的
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!
相关文章
JQuery获取样式中的background-color颜色值的问题
用JQuery获取样式中的background-color的值时发现在获取到的颜色值在IE中与Chrome、Firefox显示的格式不一样,经搜索找到了下段代码可解决此问题,感兴趣的朋友可以参考下2013-08-08append和appendTo的区别以及appendChild用法
很多新手朋友们对append和appendTo的区别以及js中的appendChild用法有所模糊,下面就举例为大家详细介绍下,感兴趣的朋友不要错过2013-12-12jQuery实现点击按钮文字变成input框点击保存变成文字
这篇文章主要介绍了jQuery实现点击按钮文字变成input框点击保存变成文字的相关资料,非常具有参考借鉴价值,需要的朋友可以参考下2016-05-05
最新评论