jquery异步post,返回Html,返回的html里的jquery失效,怎么解决。

目前我的解决办法是:1.事件尽量使用live,或者写在html标签里,比如<divonclick="在这里写事件函数">点击</div>。2.重新注册.$GetScrip... 目前我的解决办法是:1.事件尽量使用live,或者写在html标签里,比如<div onclick="在这里写事件函数">点击</div>。2.重新注册.$GetScript("js路径");
目前第二种不适合,各个不同的区域异步都要重新注册,会造成混乱。所以目前用了第一种,觉得这种方法也欠佳,谁有更好的方法,如有说的详细点,我找了好多,也没有找到合适的方法,谢谢了。可以追加分数。
谁有更好的办法吗
展开
 我来答
依土天羽
2011-04-25 · TA获得超过289个赞
知道小有建树答主
回答量:337
采纳率:100%
帮助的人:396万
展开全部
将HTML和JS分开加载,写一个全局的方法,在获取html后查找其中的脚本文件重新加载

如:获取HTML并加载后
可以用以下方式加载JS
var _obj = ...;// 这里是你加载html的对象,没用jQuery
var scriptTags = _obj.getElementsByTagName("script");
for (var i = 0; i < scriptTags.length; i ++){
if(scriptTags[i].src == null || scriptTags[i].src == "")
new Funtion(scriptTags.innerHTML)();
else{
var s = document.createElement("script");
s.src = scriptTags[i].src;
document.body.appendChild(s);
}
}
这样,所有的HTML中内嵌的js就都能执行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bd57fabd2
2011-04-25 · TA获得超过721个赞
知道小有建树答主
回答量:1200
采纳率:0%
帮助的人:837万
展开全部
一般都不把jquery写在返回的html里,一是jq分离慢,容易出错,二是没啥实在意义。
要么就写在当前,要么就重新getScript,再post
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
嘟嘟乐悠
2011-04-27 · TA获得超过568个赞
知道小有建树答主
回答量:359
采纳率:0%
帮助的人:325万
展开全部
把返回的html里的js代码写在post回调函数里面
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
九能学长
2011-04-25 · TA获得超过240个赞
知道小有建树答主
回答量:365
采纳率:0%
帮助的人:196万
展开全部
POST方法有没有忘记加html表头?
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
还有传值是否写在send()里?
xmlhttp.send("fname=Bill&lname=Gates");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
势水0Fi
2015-10-16 · TA获得超过489个赞
知道小有建树答主
回答量:485
采纳率:44%
帮助的人:151万
展开全部
返回的是你后台处理后返回的JSON字符串,jquery对象失效 可能是你语法有错误,而且你补粘贴代码我们都是猜测
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式