jQuery动态生成的元素绑定事件操作实例分析
本文实例讲述了jQuery动态生成的元素绑定事件操作。分享给大家供大家参考,具体如下:
这段时间在写代码的时候遇到一个问题,通过append()添加的节点,点击事件不起作用。当时我百思不得其解,各种找错都没找到错误的原因。后来才发现是动态生成节点的问题,还是自己没有经验啊。
下面来总结一下这个问题的始末,温故而知新。
先看下click绑定事件的效果。
<div> <p>a</p> <p>b</p> <p>c</p> </div>
创建一个按钮来生成新的节点p
<button>create</button>
绑定点击事件
<script> //添加点击事件 $("p").click(function(){ $(this).text('click'); }) //创建一个新节点 $("button").click(function(){ var p ="<p>new</p>"; $("div").append(p); }) </script>
点击第一p元素,事件生效,运行结果:
点击按钮,生成新的节点,并点击新的节点,运行结果:
结果证明,click并没有绑定到新的节点上。
如果需要给动态的元素绑定事件,需要使用到on()。
$("div").on("click","p",function(){ $(this).text('click'); })
on()方法,可以给未来的元素绑定事件
使用方法:
1、先选中动态生成元素的父元素
2、然后绑定事件
3、再选中子类
可以理解为给div下的p元素包括未来的p元素绑定click事件,这是比较通俗易懂的理解,详细内容可以看文档的具体说明
更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery常见事件用法与技巧总结》、《jQuery常用插件及用法总结》、《jQuery操作json数据技巧汇总》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》及《jquery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。
相关推荐
-
jQuery给动态添加的元素绑定事件的方法
本文实例讲述了jQuery给动态添加的元素绑定事件的方法.分享给大家供大家参考.具体分析如下: jquery中绑定事件一般使用bind,或者click,但是这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定.在1.7版本以前使用live.但是在1.8版本以后推荐使用on.这里介绍jQuery中如何给动态添加的元素绑定事件 在实际开发中会遇到要给动态生成的html元素绑定触发事件的情况 例如 <div id="testdiv"> <ul>&l
-
jQuery实现为动态添加的元素绑定事件实例分析
本文实例讲述了jQuery实现为动态添加的元素绑定事件.分享给大家供大家参考,具体如下: 在使用jquery的方式为元素绑定事件时,我经常使用bind或者click,但这只能为页面已经加载好的元素绑定事件.像需要用ajax的方式请求远程数据来动态添加页面元素时,显然以上几种绑定事件的方式是无效的,具体写法如下. $(selector).bind(event,data,function) $(selector).click(function) $("#searchMoveVideoResult u
-
jQuery页面元素动态添加后绑定事件丢失方法,非 live
代码1: 以此方法绑定的input框事件,在通过add按钮后用jquery绑定的事件 alert就会丢失 <input type="button" value="Add" name="test_but" /> <div id="test_div"><input name="test_input"/></div> <script> $('input[
-
浅谈Jquery为元素绑定事件
Jquery如何为元素绑定事件,小记一下,防止忘记了! $(this).bind({ click:function(){ window.open(alert('OK')); }, mouseover:function(){ window.open(alert('OK')); }, mouseout:function(){ window.open(alert('OK')); } }); 以上所述就是本文的全部内容了,希望大家能够喜欢.
-
jQuery 绑定事件到动态创建的元素上的方法实例
在进入主题之前,我们先来看一个前台页面经常用到的功能:点击页面输入框时自动选择其中文本. 很容易想到利用输入框的focus事件,当输入框获得焦点时,再调用jQuery的select()方法. Okay,想法很简单,逻辑似乎也无错.具体我们来看一下现实到底能不能实现. 1.页面构造个表单,放上几个输入框.代码看起来是这样子的. 复制代码 代码如下: <form action="/" method="post"> <table>
-
jQuery动态添加元素无法触发绑定事件的解决方法分析
本文实例讲述了jQuery动态添加元素无法触发绑定事件的解决方法.分享给大家供大家参考,具体如下: 最近遇到一个问题,即当用jquery动态添加元素后,发现给动态添加的元素却无法触发事件.后来在网上查阅了一些资料,发现原来要这样处理: 先上我出错的代码: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></ti
-
解决jquery appaend元素中id绑定事件失效的问题
1. 在jquery中append元素,如果该元素中有id值并且绑定事件,那么该id事件会失效,必须刷新一下才能使用. 2.解决办法: 举例:如果在一个<div class="title"></div>中,通过append添加一个id="demo"的按钮,常用的直接$("Selector").on("eventType",function(){})监听事件函数不起作用,例如该按钮的点击监听事件应该这样写
-
jquery html动态添加的元素绑定事件详解
在实际开发中会遇到要给动态生成的html元素绑定触发事件的情况: <div id="testdiv"> <ul></ul> </div> 假设我们要给ul动态添加的<li>绑定click事件形成如下结果 <div id="testdiv"> <ul> <li name="apple">apple</li> <li name="
-
jQuery动态添加的元素绑定事件处理函数代码
我当时的处理方法是在添加的时候手工绑定事件处理函数.不过新版的jquery已经添加了这个功能.我们已经不需要为此烦恼了. 参考:http://api.jquery.com/live/ 以前我们定义事件,比如为元素定义单击事件是这样写的: 复制代码 代码如下: $('input').click(function () { //处理代码 }); 或 复制代码 代码如下: $('.clickme').bind('click', function() { // Bound handler called.
-
jQuery动态生成的元素绑定事件操作实例分析
本文实例讲述了jQuery动态生成的元素绑定事件操作.分享给大家供大家参考,具体如下: 这段时间在写代码的时候遇到一个问题,通过append()添加的节点,点击事件不起作用.当时我百思不得其解,各种找错都没找到错误的原因.后来才发现是动态生成节点的问题,还是自己没有经验啊. 下面来总结一下这个问题的始末,温故而知新. 先看下click绑定事件的效果. <div> <p>a</p> <p>b</p> <p>c</p> <
-
AngularJS实现给动态生成的元素绑定事件的方法
本文实例讲述了AngularJS实现给动态生成的元素绑定事件的方法.分享给大家供大家参考,具体如下: 1 . 我们知道在jQuery中,动态生成一个元素,如果要在动态生成元素的同时,动态绑定事件,可以通过live/on方法(在jquery3.0中已经废除了bind方法). 2 . 在AngularJS中,操作DOM一般在指令中完成,事件监听机制是在对于已经静态生成的dom绑定事件,而如果在指令中动态生成了DOM节点,动态生成的节点不会被JS事件监听. 举例来说: angular.module('
-
jquery 给动态生成的标签绑定事件的几种方法总结
经常遇到给动态生成的标签绑定事件不好用,自己简单测试总结了下,结论如下了: <body> <!-- 下面是用纯动态方式生成标签 --> <div id="d2"> 生成a标签 </div> <div id="d3"> <input type="button" value="生成a标签" id="btn" /> </div>
-
JS实现为动态创建的元素添加事件操作示例
本文实例讲述了JS实现为动态创建的元素添加事件操作.分享给大家供大家参考,具体如下: html中直接生成的元素,添加事件,我们都知道,但是如何为一个动态生成的元素添加事件呢,jquery中的live方法可以做到这一点 具体实现可以在demo中看到 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>www.jb51.net - JS实现为动态创建的元素添加事件
-
jQuery动态添加元素后元素注册事件失效解决
目录 前言: 近日丢酱在学jQuery,在学习的时候遇到了一个问题,虽然最后解决了,但是丢酱觉得要把这个问题解决的方法记录下来,这样有小伙伴遇到同样的问题就不会跟我一样解决好久啦.我先贴一段正常逻辑的代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible&quo
-
JS如何实现动态添加的元素绑定事件
这篇文章主要介绍了JS如何实现动态添加的元素绑定事件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最近做的项目要实现一个动态添加动态删除的功能,思考了一下,该怎么给动态添加的元素绑定事件.最后觉得有两种方式比较可靠,第一种是在动态添加的html代码里添加oclick事件,然后给传个唯一的参数来判断点击了哪个,然后做相应的操作,第二种是通过事件委托的原理来处理,事件委托将一个事件侦听器实际绑定到整个容器,然后在单击它时能够访问每个列表项,这种更
随机推荐
- MongoDB入门教程之聚合和游标操作介绍
- ExtJS GTGrid 简单用户管理
- Flex 3 布局容器学习笔记 整理
- MySql官方手册学习笔记2 MySql的模糊查询和正则表达式
- 零基础写python爬虫之使用Scrapy框架编写爬虫
- JavaScript调试之console.log调试的一个小技巧分享
- JS产生随机数的用法小结
- JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解
- 基于js的变量提升和函数提升(详解)
- PHP文件锁定写入实例解析
- smartcrop.js智能图片裁剪库
- linux vi命令一览表
- C语言中字符和字符串处理(ANSI字符和Unicode字符)
- 通过实例深入学习Java的Struts框架中的OGNL表达式使用
- PowerShell中实现播放WAV音频文件
- 深入理解jquery跨域请求方法
- jQuery实现点击行选中或取消CheckBox的方法
- 详解android webView独立进程通讯方式
- php实现分页显示
- C++中的几种排序算法