Jquery动态添加的元素绑定事件的3种方法
假设我们点击li标签,弹出他的文本,如果是动态添加的li,点击是没有效果的,压根弹不出来文本。
下面博主分享一下为动态添加的元素绑定事件的三种方法,网上一般都是两种,我在这里多增加了一种。
事件案例:
<ul id="ul1">
<li><a href="">世界上第三种电梯诞生了,居然是中国人发明的!</a></li>
<li><a href="">电视名人辱骂河南人被诉 美媒:河南人常遭歧视 [评]</a></li>
<li><a href="">杭州的哥宰客:30元路程要200 拉客到店拿回扣-搜狐新闻 [评]</a></li>
</ul> <a id="a1" href="">添加一条</a>
第一种方法:给添加的元素添加onclick事件,最简单的方法
<script>
function liClick(event){
alert($(event).text())
}
</script>
那么,新增的li标签应该是这样:
<script> $(function(){ $("#a1").click(function(){
var li = $("<li onclick='liClick(this)'><a href='javascript:;'>我是新添加的元素</a></li>"); $("#ul1").prepend(li); //阻止默认事件
return false;
});
}) </script>
第二种:用on()方法,给它的父级、祖先元素绑定事件
代码: 绑定到父级元素
$("#ul1").on("click", "li", function(){
alert($(this).text()); return false;
})
或者
绑定到祖先元素document
$(document).on("click", "#ul1 li", function(){
alert($(this).text()); return false;
})
第三种:元素新增的时绑定事件
$("#a1").click(function(){
var li = $("<li><a href='javascript:;'>我是新添加的元素</a></li>");
//处理事件写到这里
li.click(function(){
alert($(this).text()); return false;
}) $("#ul1").prepend(li); return false;
});
变量li是一个jquery对象,直接给它绑定事件,在插入到DOM中,这种也是可以的。
你说我想点击li里面的a标签,给它绑定事件怎么做呢?
也很简单,更平常时一样操作
代码如下:
li.find("a").click(function(){
alert($(this).text()); //阻止默认事件
return false;
})
好了,本教程写完了。(*^__^*)
Jquery动态添加的元素绑定事件的3种方法的更多相关文章
- jQuery 为动态添加的元素绑定事件
在使用jquery的方式为元素绑定事件时,我经常使用bind或者click,但这只能为页面已经加载好的元素绑定事件.像需要用ajax的方式请求远程数据来动态添加页面元素时,显然以上几种绑定事件的方式是 ...
- WEB前端技巧之JQuery为动态添加的元素绑定事件.md
jquery 为动态添加的元素绑定事件 如果直接写click函数的话,只能把事件绑定在已经存在的元素上,不能绑定在动态添加的元素上 可以用delegate来实现 .delegate( select ...
- jQuery中如何给动态添加的元素绑定事件
jquery中绑定事件一般使用bind,或者click,但是这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定.在1.7版本以前使用live.但是在1.8版本以后推荐使用on.这 ...
- js动态添加的元素绑定事件
最近做的项目要实现一个动态添加动态删除的功能,思考了一下,该怎么给动态添加的元素绑定事件.最后觉得有两种方式比较可靠,第一种是在动态添加的html代码里添加oclick事件,然后给传个唯一的参数来判断 ...
- jQuery对 动态添加 的元素 绑定事件(on()的用法)
从jQuery 版本 1.7 起,on() 方法是向被选元素添加事件处理程序的(官方推荐)首选方法. 当浏览器下载完一个页面的时候就开始渲染(翻译)HTML标签,然后执行css.js代码,在执行js代 ...
- jquery动态添加的元素绑定的事件不生效的问题
我们可以通过 $(document).on('click', '#xxx', callback) 这种形式解决. 原因,一般情况下,我们是通过 $('#xxx').click(callback) 这种 ...
- jquery append 动态添加的元素绑定事件on
用jquery添加新元素很容易,面对jquery append 动态添加的元素事件on 不起作用我们该如何解决呢?on方法中要先找到原选择器(如例.info),再找到动态添加的选择器(如列.delet ...
- jq给动态生成的标签绑定事件的几种方法
经常遇到给动态生成的标签绑定事件不好用,自己简单测试总结了下,结论如下了: body> <!-- 下面是用纯动态方式生成标签 --> <div id="d2" ...
- jQuery给动态添加的元素绑定事件的方法
我们在开发过程会遇到无法给动态元素添加绑定事件,解决方案如下: 例如 <div id="testdiv"> <ul></ul> </d ...
随机推荐
- 使用管道符在PowerShell中进行各种数据操作
最近在培训PowerShell,在讲到Pipeline的时候,对于我这种长期和数据(数据库)打交道的人来说,觉得很实用,所以写此博文,记录一下. 无论是在Linux中写Bash脚本还是在Window上 ...
- 35个java代码性能优化。。转
前言 代码优化,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑 的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用 ...
- linux ssh和scp实例
ssh 192.160.1.100 -p 40012 scp user 192.169.72.2:/ scp -i /id_rsa -P40027 root@221.212.235.17:/sdzw/ ...
- html之长文本框置顶
方法: 在<body> </body>中添加如下代码: <a name="top"></a> <a href="#t ...
- frakti && RunPodSandbox 源码分析
listen = flag.String("listen", "/var/run/frakti.sock", "...") hyperEnd ...
- HTML总结
几个知识点: HTML 指的是超文本标记语言 (Hyper Text Markup Language) HTML框架结构: <!DOCTYPE html> <html> < ...
- 嵌入式Linux驱动学习之路(十六)输入子系统
以前写的一些输入设备的驱动都是采用字符设备处理的.问题由此而来,Linux开源社区的大神们看到了这大量输入设备如此分散不堪,有木有可以实现一种机制,可以对分散的.不同类别的输入设备进行统一的驱动,所以 ...
- HTML 学习笔记 JavaScript(创建对象)
原博地址:http://www.cnblogs.com/dolphinX/p/3288118.html JavaScript 有Date Array String等这样的内置对象,功能强大实用简单,但 ...
- httpd配置.md
httpd-2.2 配置 监听端口和IP 配置文件: Listen [IP:]PORT 省略IP表示为0.0.0.0 Listen指令可重复出现多次 修改监听socket,重启服务进程方可生效 可以监 ...
- linux swap 分区那点事儿
前言 前段时间在用程序对较大数据进行处理时,发现自己电脑原有内存不够用而经常行卡死,于是想到了利用swap分区来扩容内存的方式.现在做一个简要的总结: swap分区的概念 初试swap分区是在进入实验 ...