关于jquery动态添加html元素后绑定其他JS的问题,求大神指教。 20

我用jquery动态添加了一些html元素,当时发现不受其他导入的js的控制,后来知道需要绑定事件,用.live()函数才行,但问题是我导入的html元素所涉及到的js非... 我用jquery动态添加了一些html元素,当时发现不受其他导入的js的控制,后来知道需要绑定事件,用.live()函数才行,但问题是我导入的html元素所涉及到的js非常多而且非常复杂,比如涉及到了一个富文本框,有非常多的复杂函数,通过事件绑定显然不现实,能不能有什么方法让这个js文档对这些元素都起作用,而不是一个一个函数地绑定? 展开
 我来答
shixuegen
2013-09-18 · TA获得超过235个赞
知道小有建树答主
回答量:134
采纳率:100%
帮助的人:169万
展开全部

我的处理方式一般是在加载的页面里写初始化加载函数,或是用原来的onclick这样就不用绑定了。团队的其他人也容易找到你的事件函数。绑定事件多了很容易弄了不好控制,特别是在团队开发中。这种绑定就是隐形的杀手。建议以下两点处理方法:

  1. 用onclick取代原来的绑定动态加载dom onclick里的事件还是会被执行就不用live去处理了。

  2. 在ajax请求的页面里使用$(function(){//初始化要做的事});

追问
你好大神,我是要点击按钮之后就动态添加一个input、radio和富文本框,都有不同的js作用与它们,着该怎么操作?
追答
这个一样的啊,点击一个按钮后如果做的事不多就直接写,如果要做的事很多,事件也很多其实这就是一个ajax请求一个页面。举个例子

A页面有一个注册按钮点击后ajax请求一个注册页面B,注册页面很复杂有input可能还有一个描述的编辑器。
A页面

返回注册页面
function reg(){
$.post(url,function(html){
$("#reg").html(html);

});
}
B页面的js要在A页面引用这样就不会js重复引用报错
function checkuser(em){//检查用户是否存在

}
function checksex(em){

}
====下面是B===
B页面
$(function(){
//这里可以写要初始化的js比如一些插件和编辑器的绑定

$("#myedit").fckedit();//当然fckedit的js引用也是在A页面

});
用户名
性别:男

加一肥一猫
2013-09-18 · TA获得超过127个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:85.8万
展开全部
好像没什么好方法,你看看jquery选择器有没有什么适合你用的,能相对的简化些
http://www.w3school.com.cn/jquery/jquery_ref_selectors.asp
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一瞥不够
2013-09-18 · TA获得超过905个赞
知道小有建树答主
回答量:760
采纳率:71%
帮助的人:203万
展开全部
富文本编辑器初始化都是在doc加载完成后进行的. 你的想法可能无法实现.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式