03-jQuery事件相关

事件绑定与解绑

  • jQuery中有两种绑定事件方式
    • eventName(fn);编码效率略高/部分事件jQuery没有实现,所以不能添加
    • on(eventName,fn);编码效率略低/所有js事件都可以添加
    • 两种方式都可以添加多个相同或者不同类型的事件,不会被覆盖
  • jQuery中通过off解绑事件
    • 如果不传递参数,会移除所有的事件
    • 如果传递一个参数,会移除所有指定类型的事件
    • 如果传递两个参数,会移除所有指定类型的指定事件

jQuery事件自动触发

  • 有两种方法,trigger和triggerHandler
    • 如果利用trigger自动触发事件,会触发事件冒泡和默认行为
    • 如果利用triggerHandler自动触发事件,不会触发事件冒泡和默认行为
    • 注意点:如果想用trigger自动触发a标签的事件,同时想要触发默认行为,需要在a标签中添加一个span标签把文字包裹起来,然后自动触发span标签
  • 自定义事件和事件命名空间必须满足两个条件
    • 事件必须通过on绑定
    • 事件必须通过trigger/triggerHandler来触发
  • 利用trigger触发子元素带命名空间的事件,那么父元素带相同命名空间的事件也会被触发,而父元素没有命名空间的事件不会被触发
  • 利用trigger触发子元素不带命名空间的事件,那么子元素所有相同类型的事件和父元素相同类型的事件都会被触发

事件委托

  • 可以找一个在入口函数执行之前就有的元素来监听动态添加元素的某些事件
  • 在jQuery中,如果通过核心函数找到的元素不止一个,那么在添加事件的时候,jQuery会遍历所有找到的元素,给所有找到的元素添加事件
  • .on(eventName,selector,fn);
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容