时间:2021-05-18
在写ajax加载数据的时候发现,后面添加进来的demo节点元素,失去了之前的点击事件。为什么点击事件失效,我们该怎么去解决呢?
其实最简单的方法就是直接在标签中写onclick="",但是这样写其实是有点low的,最好的方式还是通过给类名绑定一个click事件。
解决jQuery ajax动态新增节点无法触发事件问题的两种解决方法,为了达到更好的演示效果,假设在某个页面的body下有以下结构的代码:
<ul id="demo"> <li class="demo1">a1</li> <li class="demo1">a2</li> <li class="demo1">a3</li> </ul> <script type="text/javascript"> $("#demo").click(function(){ $("#demo").append('<li class="demo1">aaa4</li>'); //动态像ul的末尾追加一个新元素 }); </script>方法一:使用live:
live()函数会给被选的元素绑定上一个或者多个事件处理程序,并且规定当这些事件发生时运行的函数。通过live()函数适用于匹配选择器的当前及未来的元素。比如,通过脚本动态创建的元素。
实现如下:
$('.demo1').live('click', function(){ alert('OK');});方法二:使用on:
可以通过on方法绑定事件,可以绑定到它的父级或者body中,实现如下:
$("#demo").on('click','.demol',function(){ alert('OK')});通过上面的两种方法,都可以解决jQuery ajax动态新增节点无法触发点击事件的问题。知道方法了,赶紧的试试吧。
以上所述是小编给大家介绍的解决jQuery ajax动态新增节点无法触发点击事件的问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
冒泡事件就是点击子节点,会向上触发父节点,祖先节点的点击事件。下面是html代码部分:外层div元素内层span元素外层div元素对应的jQuery代码如下:$
问题描述最近在使用jquery模拟a标签的click事件,无法触发其默认行为。即click()或trigger('click')无法触发href跳转。去卡咪官网
javascript,jquery的事件中都存在事件冒泡和事件捕获的问题,下面将两种问题及其解决方案做详细总结。事件冒泡是一个从子节点向祖先节点冒泡的过程;事件
遇到jquery无法为动态生成的元素添加点击事件,谷歌一下,整理一下解决方法如下:(中间的元素是动态生成的),现在想为添加点击事件,例子如下:这是元素内容//i
一、Ajax所有过程事件分析JQuery在执行Ajax的过程中会触发很多事件。这些事件可以分为两种事件,一种是局部事件(Local),一种是全局事件(Globa