Jquery中on绑定的一些小坑
---恢复内容开始---
今天我们来说说关于JQuery中事件绑定中on绑定的一些小问题,直接上代码了,大家拷下去就可以用
<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
* {
margin: ;
padding:
} li {
list-style: none
} .ul_one,
.ul_two {
overflow: hidden;
float: left;
margin-left: 400px;
margin-top: 200px;
} .ul_one>li,
.ul_two>li {
text-align: center;
height: 40px;
width: 120px;
background-color: yellow;
border: 1px solid gray;
line-height: 40px;
} .ul_two>li {
background-color: green;
}
p{color: green;font-size: 20px;clear:both;margin-left: 300px;margin-top: 20px}
</style>
</head> <body>
<ul class="ul_one">
<li>a1</li>
<li>a2</li>
<li>a3</li>
<li>a4</li>
</ul> <ul class="ul_two">
<li>b1</li>
<li>b2</li>
<li>b3</li>
<li>b4</li>
</ul>
<p>当我们在on函数的参数里面传入了子元素的参数 on的绑定机制类似于事件绑定,所以我们才不能移除某个子元素的事件</p>
<p>而当我们不传入子元素的参数,on的绑定机制相当于循环绑定,所以此时我们可以移除某个子元素的事件</p>
<p>注意:需要引入JQuery,打开控制台看输出,打开源码看注释</p>
</body> </html>
<script src="jquery-1.11.3.js"></script>
<script>
//JQuery中on绑定的一些小坑
// 然后用on来对两个ul进行绑定 // 这种方法将第二个参数填入 即将子元素参数填入
$(".ul_one").on("click", "li", function () {
console.log(this)
//可以看到事件已经绑定上
})
//现在尝试给第一个子元素移除事件
$(".ul_one").children().eq().off("click");
// 你会发现根本移除不掉 // 可以对未来元素实现绑定
var newli1 = $("<li>a未来元素</li>");
$(".ul_one").append(newli1) // 由于on的第二个参数是可选参数我们来试试换种写法
$(".ul_two>li").on("click", function () {
console.log(this)
})
// 来,我们现在移除某个子元素的事件
$(".ul_two").children().eq().off("click");
//你会发现现在可以移除掉第一个子元素的事件 //不能对未来元素实现绑定
var newli2 = $("<li>b未来元素</li>");
$(".ul_two").append(newli2) // 重要 重要
// 那为什么会造成这种情况呢 // 当我们在on函数的参数里面传入了子元素的参数 on的绑定机制类似于事件绑定,所以我们才不能移除某个子元素的事件,能对未来元素实现绑定 // 而当我们不传入子元素的参数,on的绑定机制相当于循环绑定,所以此时我们可以移除某个子元素的事件,但不能实现对未来元素实现绑定
</script>
---恢复内容结束---
---恢复内容结束---
Jquery中on绑定的一些小坑的更多相关文章
- jquery-10 jquery中的绑定事件和解绑事件的方法是什么
jquery-10 jquery中的绑定事件和解绑事件的方法是什么 一.总结 一句话总结:bind(); unbind(); one(); 1. jquery中的绑定事件和解绑事件的方法是什么? bi ...
- 关于JQuery中$.data绑定数据原理或逻辑
问题: JQuery中,对于.data([key],[value])函数,当使用其进行数据绑定时,假设要绑定的数据是“引用数据类型”,也就是对象:那么.data函数绑定的是该对象的副本还是该对象的一个 ...
- C#中的Infinity有个小坑
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 昨天家里有事,上网也不方便,就没有推送文章.今天很累,也不长篇大论了.简单介绍一下最近遇到的 ...
- !!!jQuery中事件绑定 推荐使用.delegate()或者live()
jQuery中的.bind()..live()和.delegate()之间区别分析 参考:http://www.jb51.net/article/27309.htm DOM树 首先,可视化一个HM ...
- Python中需要注意的一些小坑
Python小知识 # a = a + b /a += b 有时是不一样的 a=[1,2,3] b = a a = a + [4,5,6] # a=[1,2,3] # b = a # a += ...
- 关于jquery中on绑定click事件在苹果手机失效的问题(巨坑啊)
用一个div当做了一个按钮来使用. <div class="button"> <div class=" next_button button_left ...
- jquery中on绑定click事件在苹果手机失效问题解决(巨坑啊)
描述:用一个div写一个按钮,并给这个按钮添加一个点击事件,在安卓机器上一切正常,但是在苹果机型上会出现点击事件失效. <!DOCTYPE html> <html lang=&quo ...
- jquery中on绑定事件
之前项目中动态创建的标签元素 在绑定事件的时候 都是无效 无论如何都不能触发 eg:在页面加载完成之后 再由脚本动态创建的<div>元素 在绑定事件的时候 例如click事件 ...
- jQuery中事件绑定到bind、live、delegate、on方法的探究
1. 给页面上的某个元素绑定事件,最初采用下面的方式实现: $(‘selector’).click(function(){ //code }); 缺点: 不能同时绑定多个事件,不能绑定动态的元素. 后 ...
随机推荐
- IO、NIO、AIO
一. IO 传统的IO是同步阻塞模式,数据的读取与写入会阻塞在一个线程内等待其完成. 主要面向字节流编程.(流是单向的) 二. NIO NIO支持同步非阻塞模式,在进行IO调用后,然后去 轮询调用结果 ...
- datatable插件使用小记
经验,是前行路上,磕磕碰碰,不断探索,最终留下的结晶:亦是下一次,快速高效,寻求到结果的快捷方式. datatable插件具体可参考: 官网:http://datatables.club/ 参数说明: ...
- Shell - 简明Shell入门01 - 第一个脚本(HelloShell)
示例脚本及注释 #!/bin/bash echo "hello shell!" # 打印字符串"hello shell!" echo "Date: & ...
- docker学习实践之路[第二站]nginx镜像实践
上一篇文章中已经成功的拉取的nginx的镜像 在本篇文章中则详细介绍docker利用文件卷.断后映射然后进行nginx的配置. 输入一下命令: docker run -d --name mynginx ...
- 如何用ajax下载文件
引子 在HTML5没来之前,浏览器想要下载文件,可能有这么几种方式: 借助a标签,<a href="学习资料.xlsx"></a> window.locat ...
- 【转】谷歌三大核心技术(二)Google MapReduce中文版
Google MapReduce中文版 译者: alex 摘要 MapReduce 是一个编程模型,也是一个处理和生成超大数据集的算法模型的相关实现.用户首先创建一个Map函数处理一个 ...
- [Java初探07]__关于面向对象的简单认识
前言 类和对象,在我们学习Java语言的过程中,它们无时无刻不存在着,在我们还远未详细弄明白它们的意义之前,在我们不知不觉的下意识里,我们都会直接或间接的用到它们,这是因为Java是一门面向对象的语言 ...
- 和我一起打造个简单搜索之ElasticSearch入门
本文简单介绍了使用 Rest 接口,对 es 进行操作,更深入的学习,可以参考文末部分. 环境 本文以及后续 es 系列文章都基于 5.5.3 这个版本的 elasticsearch ,这个版本比较稳 ...
- C++函数中返回引用和返回值的区别
一.主要讨论下面两个函数的区别: int& at() { return m_data_; } int at() { return m_data_; } 上面两个函数,第一个返回值是int的引用 ...
- java设计模式-菜鸟网络
http://www.runoob.com/design-pattern/singleton-pattern.html