扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
jquery里为未来元素添加事件的原理很简单,既然这个元素是未来的,那么我们可以把事件绑定在已经存在的元素上,然后在发生点击的时候,再来判断所点击的对象,是否为我们要的对象,然后再触发事件。
成都创新互联公司主要业务有网站营销策划、成都网站设计、做网站、微信公众号开发、小程序开发、H5建站、程序开发等业务。一次合作终身朋友,是我们奉行的宗旨;我们不仅仅把客户当客户,还把客户视为我们的合作伙伴,在开展业务的过程中,公司还积累了丰富的行业经验、成都全网营销推广资源和合作伙伴关系资源,并逐渐建立起规范的客户服务和保障体系。
这个要用到“事件委托”,就是把动态添加的元素的事件委托给它的父元素(非动态的)去处理,这样的话不管其子元素如果动态添加,都能捕捉其事件。
如果你的元素是用click事件append进来的,那你的功能函数必须放在这个click事件里面。
(function(){ });的意思是等到所有的DOM元素可用了才执行javascript代码。
jquery中有一个叫live的方法:jQuery 给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的也有效。
可能一:你这个table里面的内容是动态加载进去的,如果在加载完毕之前 var obj=document.getElementsByName(exceptionReasonId);是取不到值的,所以你先检查是否是调用的先后问题。
办法二就是在a页面中使用get方式ajax提交。在a页面中使用:.get();//把值跟在URL上这里的b页面应该不能只是html了,需要服务端配合,只有jQuery应该是不行的。
使用步骤如下:jQuery给放到一个文件夹里面,方便我们待会引用这个jQuery,这里我就放到我项目的js文件夹里面。然后我们来开始编辑HTML界面代码。使用script标签把jQuery引入到我们的HTML界面。
1、jquery里为未来元素添加事件的原理很简单,既然这个元素是未来的,那么我们可以把事件绑定在已经存在的元素上,然后在发生点击的时候,再来判断所点击的对象,是否为我们要的对象,然后再触发事件。
2、并不是事件没有绑定上,是因为点击li的时候先触发了ul的隐藏事件,ul已经被隐藏了所以点击事件无效。
3、jQuery 3中新增的方法。给所有当前以及将来会匹配的元素绑定一个事件处理函数(比如click事件)。也能绑定自定义事件。
4、不会没反应呀,你把代码贴出来看下,一般是没有成功调用喽。一般用代码绑定 (function () { (#link1).click(function () { //代码 alert(点击了);});}); 链接1 刚测试了,这怎么会有问题呢。
jquery里有个一次性的事件处理方法:one(eventType,fn)。
(this).removeClass().addClass(on);句话会把类名为i1的元素的类名移除,给他添加类名on,所以$(.i1).click在执行的时候就找不到这个元素了。
事件没有在初始化绑定才会出现这个现象。如果楼上代码有可能有问题的,试试把类名和click对调。
jquery里为未来元素添加事件的原理很简单,既然这个元素是未来的,那么我们可以把事件绑定在已经存在的元素上,然后在发生点击的时候,再来判断所点击的对象,是否为我们要的对象,然后再触发事件。
DOM树被改动,或者元素被移动,有可能使绑定了的事件失效。这种情况你可以在激活事件之前,对你操作的元素进行验证,确认其元素是否你的目标元素。
首先你要检查你的Jquery引入路径是否正常。另外一个你的function 中间是可以调试的。每一步执行之前设置个alert,自己注意顺序,看看打印结果是什么。就基本可以找到问题所在。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流