扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
事件的这几个特性在0级dom中也是适用的。(2)jquery阻止事件起泡实例 通过返回false来取消默认的行为并阻止事件起泡。
成都创新互联是一家专注于成都网站设计、成都网站建设与策划设计,安平网站建设哪家好?成都创新互联做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:安平等地区。安平做网站价格咨询:18980820575
return false;事件委托就是利用冒泡的原理,把事件加到父级上,通过判断事件来源的子集,执行相应的操作,事件委托首先可以极大减少事件绑定次数,提高性能;其次可以让新加入的子元素也可以拥有相同的操作。
首先:你不想使用的方法恰恰是推荐的最好的方法,为什么不用推荐的方法呢。
事件冒泡:开始时由最具体的元素接收,然后逐级向上传播到到 DOM 最顶层节点。
浏览器在解析时候,要过两遍HTML,一次是从上而下,称为事件捕获;一次从下而上,称为事件冒泡(关于事件冒泡和事件捕获,这里就不详细说了)。
.bind()是直接绑定在元素上 .live()则是通过冒泡的方式来绑定到元素上的。更适合列表类型的,绑定到document DOM节点上。和.bind()的优势是支持动态数据。
事件冒泡的作用:事件冒泡允许多个操作被集中处理(把事件处理器添加到一个父级元素上,避免把事件处理器添加到多个子级元素上),它还可以让你在对象层的不同级别捕获事件。
//...});假设你的.ontest一开始不存在DOM结构当中,也就是html里面,如果你直接click(function () {});的话,事件是无法成功绑定的,而用on委托给document的话,在事件冒泡的时候,就可以成功出发绑定的事件。
停止冒泡的方式:e.stopPropagation();第一种事件模型,在html中直接绑定事件:首先看一下浏览器事件模型:这种方式将行为和HTML混在了一起,没有实现行为与内容相分离。并且不能同时绑定多个事件。
事件的传播是有方向的,当点击一个按钮时所产生的事件从这个按钮处开始向上传播(就像一个水泡从杯底冒上来,这就是之所以叫事件冒泡的原因),但这个事件总是寻找特定的属性是否有值。
return false;事件委托就是利用冒泡的原理,把事件加到父级上,通过判断事件来源的子集,执行相应的操作,事件委托首先可以极大减少事件绑定次数,提高性能;其次可以让新加入的子元素也可以拥有相同的操作。
e.stopPropagation()方法不再派发事件。终止事件在传播过程的捕获、目标处理或起泡阶段进一步传播。调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点。
阻止事件冒泡可以防止触发父元素上面绑定的事件。比如: 123 1234在parnet上面和child上面都绑定click事件,并且打印1234,当你点击child的div时,会发现打印两次。
可以通过以下三种方法做到不同程度的阻止。A:return false ---In event handler ,prevents default behavior and event bubbing 。return false 在事件的处理中,可以阻止默认事件和冒泡事件。
一个事件起泡对应触发的是上层的同一事件 特殊:如果two设置成双击事件,那么在你单击two的时候就会起泡触发one单击的事件 (双击包含单击)。
return false;事件委托就是利用冒泡的原理,把事件加到父级上,通过判断事件来源的子集,执行相应的操作,事件委托首先可以极大减少事件绑定次数,提高性能;其次可以让新加入的子元素也可以拥有相同的操作。
e.stopPropagation()方法不再派发事件。终止事件在传播过程的捕获、目标处理或起泡阶段进一步传播。调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点。
事件委托也称为事件代理, 在 jQuery 里面称为事件委派。 不是每个子节点单独设置事件监听器,而是事件监听器设置在其父节点上,然后利用冒泡原理影响设置每个子节点。
不得不说,做法需要调整下,本来每个 li 所绑定的事件都是不同,为何要用一个事件呢?(#left_ul li) 是顶级菜单 (#left_ul li ul li)是子集菜单 这样做,2级菜单就满足了。
1、使用stopPropagation() 方法;e.stopPropagation()方法不再派发事件。终止事件在传播过程的捕获、目标处理或起泡阶段进一步传播。调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点。
2、事件委托就是利用冒泡的原理,把事件加到父级上,通过判断事件来源的子集,执行相应的操作,事件委托首先可以极大减少事件绑定次数,提高性能;其次可以让新加入的子元素也可以拥有相同的操作。
3、标准写法:利用事件对象里面的 stopPropagation()方法 e.stopPropagation() 非标准写法:IE 6-8 利用事件对象 cancelBubble 属性 e.cancelBubble = true;事件委托也称为事件代理, 在 jQuery 里面称为事件委派。
4、或者它到达了对象层次的最顶层,即document对象(有些浏览器是window)。
5、jQuery事件委托、冒泡。(#slider).on(mouseover,li,function(){ (this).animate({opacity:0.6});});这样改,试一下。
6、为何要用一个事件呢?(#left_ul li) 是顶级菜单 (#left_ul li ul li)是子集菜单 这样做,2级菜单就满足了。如果你想做无限极的菜单,那么先考虑系统是否用得到,科研和工作最好分开嘛。
1、事件冒泡:开始时由最具体的元素接收,然后逐级向上传播到到 DOM 最顶层节点。
2、e.stopPropagation()方法不再派发事件。终止事件在传播过程的捕获、目标处理或起泡阶段进一步传播。调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点。
3、当我们点击子元素,触发的时事件会传递给父元素,这就是事件冒泡。
4、为何要用一个事件呢?(#left_ul li) 是顶级菜单 (#left_ul li ul li)是子集菜单 这样做,2级菜单就满足了。如果你想做无限极的菜单,那么先考虑系统是否用得到,科研和工作最好分开嘛。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流