十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
live() 方法能对一个还没有添加进DOM的元素有效,是由于使用了事件委托:绑定在祖先元素上的事件处理函数可以对在后代上触发的事件作出回应。
成都创新互联公司是一家集网站建设,安丘企业网站建设,安丘品牌网站建设,网站定制,安丘网站建设报价,网络营销,网络优化,安丘网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
live()方法用于为所选元素附加一个或多个事件处理程序。它还指定事件发生时运行的函数。通过 live() 方法所使用的事件处理程序将用于与选择器匹配的当前和未来元素(比如由脚本创建的新元素)。
.live()背后神奇的地方就在于它并不将事件绑定到你选定的elements上,而实际上是绑定到了DOM树的跟节点,而是在element中就像一个参数一样进行传递。那么当你点击一个元素时,事件就会在DOM树上往上传递,直至到达根节点。
on():在被选元素及子元素上添加一个或多个事件处理程序。live():为被选元素附加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。
1、.bind()是直接绑定在元素上 .live()则是通过冒泡的方式来绑定到元素上的。更适合列表类型的,绑定到document DOM节点上。和.bind()的优势是支持动态数据。
2、大括号替代方式:绑定较为灵活,可以给事件单独绑定函数;data:可选;需要传递的参数;function:必需;当绑定事件发生时,需要执行的函数;适用所有版本,但是根据guan 网解释,自从jquery7版本以后bind()函数推荐用on()来代替。
3、如果使用on的时候,不设置selector,那么on与bind就没有区别了。(2)on绑定的事件处理函数,对于未来新增的元素一样可以的,和delegate效果相同,而bind则不行。
4、作用不同 on():在被选元素及子元素上添加一个或多个事件处理程序。live():为被选元素附加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。
补充一下1楼的答案,live是给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的,但on、off方法是不能用来匹配以后添加进来的元素的。
比如9版本对于live(),die(),toggle(),sub(),$.browser等等都已经不支持了。
live()方法用于为所选元素附加一个或多个事件处理程序。它还指定事件发生时运行的函数。通过 live() 方法所使用的事件处理程序将用于与选择器匹配的当前和未来元素(比如由脚本创建的新元素)。
绑定只对已经生成的对象有用,因为你的住宿是动态生成的,所以在你执行绑定函数是这个对象并不存在,所以并没有绑定上。
die() 在版本 9 中被移除。移除所有通过 live() 方法添加的事件处理程序 error() 在版本 8 中被废弃。
click 事件 dblclick() 触发、或将函数绑定到指定元素的 double click 事件 delegate() 向匹配元素的当前或未来的子元素附加一个或多个事件处理器 die() 移除所有通过 live() 函数添加的事件处理程序。
1、.live()则是通过冒泡的方式来绑定到元素上的。更适合列表类型的,绑定到document DOM节点上。和.bind()的优势是支持动态数据。
2、点击div下面的P执行alert;而on是在7之后新增的,是把bind,live,delegate全部合并在一起了,123$(div).on(click,p,function(){ alert(1); })不需要事件委托的时候把P去掉就会变成点击div触发了。
3、大括号替代方式:绑定较为灵活,可以给事件单独绑定函数;data:可选;需要传递的参数;function:必需;当绑定事件发生时,需要执行的函数;适用所有版本,但是根据guan 网解释,自从jquery7版本以后bind()函数推荐用on()来代替。
4、第一种方法很好理解,其实就和普通JS的用法差不多,只是少了一个on而已 第三种方法都是绑定事件,但是二者又有很大的不同,下面着重讲解一下,因为这个如果用到Jquery的框架的话是用的挺多的,尤其要注意二者的区别。
5、延时绑定事件功能不同:jquery $(#btn).click在文档流中,后续通过脚本动态添加的元素(符合 id=#btn),是没有绑定click事件的。
新建一个html文件,命名为test.html,用于讲解JS如何获取指定DIV下的子元素LI的值。在test.html文件内,在div标签内,使用ul、li标签创建两个项目列表,li元素的值分别为项目项目二。
打开html开发工具,新建一个html代码页面。在html页面创建三个p标签,给这三个p标签设置不同的内容。引入jquery库。在title标签后面引用下载好的jquery.js文件。
首先,打开html编辑器,新建html文件,例如:index.html,并引入jquery,编写问题基础代码。
jquery 获取 div 之间的内容,有两种方法,$(selector).text()、$(selector).html()。html:test (div).text()得到的是 test,是 div 的纯文本,会自动忽略 html 标签 。
1、首先获取到数据。在这里模拟创建一个数组用于测试数据集。第二步,创建一个button点击事件。用于动态观察,同时创建ul标签下的厨师li标签元素,直观的通过点击button的点击事件来触发li标签的更改。
2、思路:为li对象添加单击事件→事件触发后利用innerHTML获取li的文本。
3、是因为你把调用JS方法写在了href属性里面,href属性一般是用来跳转页面的。
4、DataList编译的时候会生成多余的html代码(对页面右键查看源文件即可看到),如果你一定要用DataList来写,那就只能以最终生成的html代码为条件(就是页面右键源文件中的html代码),进行jquery查询。