解决使用jQuery采用append添加的元素事件无效的方法
当我们使用jQuery动态加载html元素,但是元素上面又绑定了Click等事件,针对新添加的元素这些事件是无效的,那么应该怎样解决呢?
live方法
live( type, fn )
jQuery 1.3中新增的方法。给所有当前以及将来会匹配的元素绑定一个事件处理函数(比如click事件)。也能绑定自定义事件。
目前支持 click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup。
还不支持 blur, focus, mouseenter, mouseleave, change, submit
与bind()不同的是,live()一次只能绑定一个事件。
这个方法跟传统的bind很像,区别在于用live来绑定事件会给所有当前以及将来在页面上的元素绑定事件(使用委派的方式)。比如说,如果你给页面上所有的li用live绑定了click事件。那么当在以后增加一个li到这个页面时,对于这个新增加的li,其click事件依然可用。而无需重新给这种新增加的元素绑定事件。比如下面的代码。
<html><head> <script type="text/javascript" src="/jquery/jquery.js"></script> <script type="text/javascript">$(document).ready(function(){$("button").live("click",function(){$("p").slideToggle();});});</script> </head> <body> <p>这是一个段落。</p> <button>请点击这里</button> </body>
</html>
on 方法
但是随着jQuery的版本升级,自从jQuery 1.9及其以上已经无法使用live了,那么没有办法了吗,不是的,对于jQuery1.9版本及其以上可以使用on,其效果等同于live。下面的on的使用方法
<script>$(document).on("click", ".waiting-save", function () {$(this).html('@T("Saving...")')$(this).attr("disabled", "");SaveAction(this);});</script>
原文:https://www.zhidao91.com/jquery-html-live-on/
解决使用jQuery采用append添加的元素事件无效的方法相关推荐
- JavaScript采用append添加的元素错误
1.错误叙述性说明 于IE览器上: Uncaught HierarchyRequestError:Failed to excute 'appendChild' on 'Node':The new ch ...
- jquery append 动态添加的元素事件on 不起作用的解决方案
用jquery添加新元素很容易,面对jquery append 动态添加的元素事件on 不起作用我们该如何解决呢?on方法中要先找到原选择器(如例.info),再找到动态添加的选择器(如列.delet ...
- jq append添加的元素click获取不到的解决方法
移动端手机ios网页,apppend添加html class名用 on()方法没效果 解决方案:在html里面给需要点击的元素加一个οnclick="javascript:void(0)&q ...
- textview点击事件 android,Android给TextView添加点击事件的实现方法
首先设定TextView的clickable属性为true. 可以在布局文件中进行设定,比如: android:id="@+id/phone" android:clickable= ...
- jQuery给动态添加的元素绑定事件的方法
jquery中绑定事件一般使用bind,或者click,但是这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定.在1.7版本以前使用live.但是在1.8版本以后推荐使用on.这 ...
- jQuery 为动态添加的元素绑定事件
在使用jquery的方式为元素绑定事件时,我经常使用bind或者click,但这只能为页面已经加载好的元素绑定事件.像需要用ajax的方式请求远程数据来动态添加页面元素时,显然以上几种绑定事件的方式是 ...
- jQuery中append、insertBefore、after与insertAfter方法注意事项
jQuery中append.appendTo.prepend.prependTo.before.insertBefore.after与insertAfter方法注意事项 这里列的是针对初学jQuery ...
- js关于子元素不触发父元素事件的若干方法
2019独角兽企业重金招聘Python工程师标准>>> 方法一:event.cancelBubble=true; /* 最好用,js通用,event.cancelBubble=tru ...
- ios点击大头针气泡不弹出_高德 ios 自定义气泡添加点击事件无效问题
在使用高德地图sdk开发的时候,需要自定义气泡吹出框,发现气泡添加的点击事件或者button都没响应. 原因:自定义的气泡是添加到大头针上的,而大头针的size只有下面很小一部分,所以calloutV ...
最新文章
- hibernate mysql缓存机制_Hibernate的缓存机制
- 代码中设置excel自定义格式为[红色]的处理方法
- JavaScrip调用腾讯地图
- ie6常见css bug
- 【知乎摘要】女生婚前应该清楚男友哪些方面了才能嫁给他
- javascript 学习笔记(一)
- python软件是什么原因引起的_Python对程序员重要的原因在哪里?
- LeetCode--434--字符串中的单词数
- Python3 OOP(一) 类和实例
- Thrift 的原理和使用
- app图标圆角角度_iOS和安卓APP启动图标的尺寸和圆角大小详解
- PKU ACM 1008 玛雅历
- Windows 7设备管理器有未知设备怎么办?
- vs2017下配置Xamarin
- 月入万元快递哥遭遇AI小鸟怎么办
- “瘾品”经济正当道,低度酒成为新财富密码?
- IOS破解软件,比较全的网站。
- 模拟键盘鼠标事件有两种方法
- qml----Model/View入门(四)XmlListModel
- 嵌套(Embeddings)