JQ实现向动态元素添加事件

news/2024/7/10 23:56:58 标签: Jquery, on()

最近做的工作需要添加微信统计,然后页面里是动态添加的模拟对话,需要给动态添加的元素添加点击复制事件。

第一就想到了JQ的bind事件,可是经过测试发现,bind事件不能给动态添加的元素进行事件添加,不能放弃啊,继续探索,终于功夫不负有心人,发现on事件可以实现这个效果。废话不多说,上代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>ON事件</title>
		<script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
	</head>
	<body>
		
		<div id="content"><button>按钮</button></div>
		<a href="javascript:;" onclick="add()">添加新元素</a>
		<script type="text/javascript">
			var add = function(){
				$("#content").append('<button>按钮</button>');
			}
			$("body").on('click','button',function(event){
				alert("这是动态添加的事件");
			});
		</script>
	</body>
</html>

下面对on事件进行简单的说明:

概述:在选择元素上绑定一个或多个事件的事件处理函数。

on()方法绑定事件处理程序到当前选定的jQuery对象中的元素。

使用 on() 方法添加的事件处理程序适用于当前及未来的元素(比如由脚本创建的新元素)。

语法:$(selector).on(events,childSelector,data,function)

events:一个或多个用空格分隔的事件类型和可选的命名空间,如"click"或"keydown.myPlugin" 。

selector:一个选择器字符串用于过滤器的触发事件的选择器元素的后代。如果选择的 null 或省略,当它到达选定的元素,事件总是触发。

data:当一个事件被触发时要传递event.data给事件处理函数。

fn:该事件被触发时执行的函数。 false 值也可以做一个函数的简写,返回false。

提示:如需移除事件处理程序,请使用 off()方法。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>off实例</title> 
<script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
</script>
<script>
$(document).ready(function(){
  $("p").on("click",function(){
    $(this).css("background-color","pink");
  });
  $("button").click(function(){
    $("p").off("click");
  });
});
</script>
</head>
<body>

<p>点击这个段落修改它的背景颜色。</p>
<p>点击一下按钮再点击这个段落( click 事件被移除 )。</p>

<button>移除 click 事件句柄</button>

</body>
</html>

 


http://www.niftyadmin.cn/n/736695.html

相关文章

JS中的日期和时间详解

JS中的日期和时间详解关于Date()构造函数简单实例用Date()构造函数创建时钟关于Date()构造函数 Date()构造函数是javascript的核心语言部分&#xff0c;用来创建表示时间和日期的对象。这些日期对象的方法为日期计算提供了简单的API。日期对象不是数字那样的基本类型。 简单实…

减少媒体查询的技巧-1

在设计和制作自适应网页的时候&#xff0c;我们经常会用到媒体查询这一功能&#xff0c;可是过多的使用这个功能会增加我们的代码量&#xff0c;增加了我们的维护成本&#xff0c;下面我们来一起看一下这几个技巧&#xff0c;或许可以帮助你减少媒体查询的使用。 1.使用百分比…

CSS中的 inline-block 导致换行问题

最近在写导航的时候&#xff0c;使用了inline-block&#xff0c;之前的都是用float写&#xff0c;没有遇到今天的换行问题&#xff0c;打开调试模式&#xff0c;查看padding和margin均为0&#xff0c;也就是说&#xff0c;问题并不是出现在换行元素本身上边&#xff0c;于是查找…

PHP 常用的header头部定义汇总

PHP的头部信息整理一下&#xff1a; <?php header(HTTP/1.1 200 OK); // ok 正常访问 header(HTTP/1.1 404 Not Found); //通知浏览器 页面不存在 header(HTTP/1.1 301 Moved Permanently); //设置地址被永久的重定向 301 header(Location: http://www.ithhc.cn/); //跳转…

免费CDN加速服务

CDN也称内容分发网络&#xff0c;其原理大概是将服务内容分发至全网加速节点&#xff0c;让用户从就近的服务器节点上获取内容&#xff0c;从而提高网站的访问速度。大部分服务商&#xff08;如阿里云&#xff0c;网易蜂巢&#xff0c;京东云等&#xff09;的CDN服务是按使用量…

关于SEO你需要知道哪些东西?

seo指的是搜索引擎优化。是一种利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名的手段。目的是让其在行业内占据领先地位&#xff0c;获得品牌收益。很大程度上是网站经营者的一种商业行为&#xff0c;将自己或自己公司的排名前移。 概述 网站搜索引擎优化任务主要是认…

cnpm - 解决 cnpm : 无法加载文件 C:\Users\93457\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本...

1.在win10 系统中搜索框 输入 Windos PowerShell 选择 管理员身份运行 2&#xff0c;打开了powershell命令行之后,输入 set-ExecutionPolicy RemoteSigned 然后更改权限为A 最后通过 get-ExecutionPolicy 查看当前的状态 完成。

关于织梦无法更新栏目页和内容页的问题

1.如果是安装的织梦&#xff0c;一般不存在其他问题&#xff0c;就是本身模板的问题&#xff0c;好好检查一下&#xff0c;分段排查列表页的模板&#xff0c;一定会找到问题的。 2.百度到的答案&#xff1a; 1.找到根目录下/data/tplcache文件夹&#xff0c;并删除文件夹内所有…