美文网首页
6-1事件绑定和解绑以及命名空间

6-1事件绑定和解绑以及命名空间

作者: 大庆无疆 | 来源:发表于2019-04-22 23:01 被阅读0次
---->推荐使用on()的方式来绑定(后面创建的元素也会有事件)
  • 事件绑定和解绑

bind()

绑定一个事件: bind(事件, 处理函数);
bind('click', function () {});
绑定多个事件:bind({事件1: 处理函数, 事件2:处理函数}, 事件3: 处理函数, ...)
bind({ 'click': function () {}, 'mouseover': function () {}, 'mouseout': function () {} })

bind的解绑

$('div').unbind('click');------->如果里面没有参数,将移除所有的事件


delegate() --->可以为 某元素 的 子元素 绑定事件

某元素(绑定事件的元素, 事件, 处理函数)
为div元素中的p标签绑定点击事件
$('div').delegate('p', 'click', function () {});

undelegate()解绑========

$('div').undelegate('绑定事件的元素', 'click');------->如果里面没有参数,将移除所有的事件


on() ---->on的功能可以绑定某个元素的事件,也可以给某元素的 子级元素 绑定事件

第一种用法
给 div自身 添加点击事件:
$('div').on('click', function () {})

第二种用法
给 div的子级元素span 添加点击事件$$$$$$$注意:这里就算是后面添加的span元素也有事件
$('div').on('click', 'span', function () {})

on()的事件解绑===============

对div的事件进行解绑
$('div').off('click');------->如果里面没有参数,将移除所有的事件


细节问题:
1、如果说父级元素和子级元素都是通过正常(就是click)的方式绑定事件,如果通过off解绑的时候,父级元素的事件解绑了,子级元素的事件没有解绑

2、如果子级元素是通过父级元素调用delegate的方式绑定的事件,父级元素使用off方式解绑事件,这个时候父级元素和子级元素的相同的事件都会被解绑

3、有一个固定的写法
$('#box').off('click', '**'); --》这行代码是把子级元素的点击事件解绑了,父级元素的点击事件还存在

  • 事件命名空间

(1)当为一个元素的一个事件绑定了多个监听器时,怎样精确地解绑其中一个监听器?需要了解一下事件的命名空间。

**无命名空间**
$('#box1').on('click', function () {
  console.log('box1 click---->无命名空间');
});
**有命名空间**
$('#box1').on('click.hq', function () {
  console.log('box1 click.hq---有命名空间');
  });

以上为box1的click事件指定了一个名为 hq 的命名空间

(2)当需要移除 click.hq 这个命名空间的处理函数时

$('#box1').off('click.hq');

注意:
$('#box1').off('click');---》如果这样就表示全部解绑了

(3)当使用trigger来触发事件时,需要注意的是:

如果只想要触发 click ,而不想触发 click.hq 的处理函数
那么就不可以使用 $('#box1')trigger('click'),因为这样会连 click.hq 一起触发
如果解决这个问题呢?在事件类型后面加 !
 $('#box1').trigger('click!')

相关文章

  • 6-1事件绑定和解绑以及命名空间

    ---->推荐使用on()的方式来绑定(后面创建的元素也会有事件) 事件绑定和解绑 bind()绑定一个事件: ...

  • 2019-01-22

    为元素绑定事件和解绑事件的兼容代码! //绑定事件的兼容 fun...

  • jQuery(事件)

    DOM事件 表单事件 键盘事件 事件的绑定和解绑 事件对象的使用 自定义事件

  • Jquery绑定事件和解绑事件

    大家经常用的绑定方法 常用的解绑方法

  • JQ事件绑定和解绑

    事件绑定直接用事件名 $(' jq对象 ').click(function(){})on(事件名,回调...

  • js跟jq的事件绑定以及解绑

    事件绑定 基本的事件绑定 其他事件绑定 On 替代bind方法/解绑用unbind on代替live动态创建元素绑...

  • Unreal4绑定和解除绑定事件0033bate1

    绑定和解除绑定事件 将事件添加到事件分发器事件列表(以及从中移除事件)。 如果事件分发器未绑定任何事件,对其进行调...

  • js下DOM 事件的一些方法

    事件的绑定和解绑 这是最常用的为对象绑定事件的方法。但是只能给一个对象绑定一个相同时间,想绑定第二个会覆盖。在Js...

  • 事件解绑

    用什么方式绑定事件就应该用什么方式解绑事件 解绑事件: 对象.on事件名字=事件处理函数--->绑定事件对象.on...

  • jquery中click事件绑定及移除的几种方法总结

    绑定事件与解绑事件是常用到的写法,这里总结了几种常见的绑定事件与解绑事件的方法。 绑定click事件 一:直接在h...

网友评论

      本文标题:6-1事件绑定和解绑以及命名空间

      本文链接:https://www.haomeiwen.com/subject/zewugqtx.html