
正文
jquery动态事件无反应,jquery点击事件不生效
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
(原来jq点击会失效)jq---jquery点击事件失效原因和解决办法
其实最简单的方法就是直接在标签中写onclick=,但是这样写其实是有点low的,最好的方式还是通过给类名绑定一个click事件。
(this).removeClass().addClass(on);句话会把类名为i1的元素的类名移除,给他添加类名on,所以$(.i1).click在执行的时候就找不到这个元素了。
jquery里为未来元素添加事件的原理很简单,既然这个元素是未来的,那么我们可以把事件绑定在已经存在的元素上,然后在发生点击的时候,再来判断所点击的对象,是否为我们要的对象,然后再触发事件。
相关问答
Q1: 怎样处理jQuery动态添加元素时无法触发绑定事件
1、新建html文件。创建输入框和按钮。预览效果如图。接下来需要引入jquery.js。设置输入框 keydown 事件和click 事件。按钮点击触发事件。click按钮按下效果如图。
2、其实最简单的方法就是直接在标签中写onclick=,但是这样写其实是有点low的,最好的方式还是通过给类名绑定一个click事件。
3、事件是在网页加载的时候都绑定好了,动态添加的tr上其实并没有绑定事件,如果想动态绑定的话可以用live来绑定,live方法用法和bind相同。
4、道理很简单,在你绑定事件的时候,那个div对象还没有添加到画面上,你通过:$(#div + i + j) 是筛选不到任何对象的。所以你的事件肯定绑定不上,没什么作用了。
5、jquery里为未来元素添加事件的原理很简单,既然这个元素是未来的,那么我们可以把事件绑定在已经存在的元素上,然后在发生点击的时候,再来判断所点击的对象,是否为我们要的对象,然后再触发事件。
6、原因是打开页面,DOM元素加载完毕后才会执行jquery代码,从而给DOM元素绑定事件,而新添加的元素是后来添加的DOM元素,并没有绑定事件。当然有个一劳永逸的办法,就是动态事件绑定插件——livequery,你可以去看看。
Q2: 使用jQuery如何解决动态添加元素无法触发绑定事件
其实最简单的方法就是直接在标签中写onclick=,但是这样写其实是有点low的,最好的方式还是通过给类名绑定一个click事件。
下面我就为大家分享一篇jQuery动态添加li标签并添加属性和绑定事件方法,具有很好的参考价值,希望对大家有所帮助。
这个要用到“事件委托”,就是把动态添加的元素的事件委托给它的父元素(非动态的)去处理,这样的话不管其子元素如果动态添加,都能捕捉其事件。
Q3: JQuery里的代码不能响应动态生成的html元素的click事件,如何解决?_百...
1、jquery对动态加载的li添加click事件,事件无法触发时设置出现了问题,解决方法为:新建html文件。创建输入框和按钮。预览效果如图。接下来需要引入jquery.js。设置输入框 keydown 事件和click 事件。
2、如果你的元素是用click事件append进来的,那你的功能函数必须放在这个click事件里面。
3、不管button.do是否为已经存在的,还是未来添加的,都能执行。
4、(html).click()这个范围也太大了吧。你也可以用delegate去代理,然后用event.stopProgation()去防止事件冒泡到DOM树上就可以了。
5、(function(){ });的意思是等到所有的DOM元素可用了才执行javascript代码。
关于jquery动态事件无反应和jquery点击事件不生效的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。





