jQuery事件机制

  • 事件注册
    on注册事件
    概述:在选择元素上绑定一个或多个事件的事件处理函数。on()方法绑定事件处理程序到当前选定的jQuery对象中的元素。在jQuery 1.7中,.on()方法 提供绑定事件处理程序所需的所有功能。
    示例:
    $(selector).on(events[,selector][,data],fn);
    参数:

    events:一个或多个用空格分隔的事件类型和可选的命名空间,如"click"或"keydown.myPlugin" 。
    
    selector:一个选择器字符串用于过滤器的触发事件的选择器元素的后代。如果选择的< null或省略,当它到达选定的元素,事件总是触发。执行事件的后代元素(可选),如果没有后代元素,那么事件将有自己执行.
    
    data:当一个事件被触发时要传递event.data给事件处理函数。(不常使用,可以不传)
    
    n:该事件被触发时执行的函数。 false 值也可以做一个函数的简写,返回false。
    
  • 事件解绑
    off方式
    概述:在选择元素上移除一个或多个事件的事件处理函数。
    示例:
    off(events,[selector],[fn])
    参数:

    events:一个或多个空格分隔的事件类型和可选的命名空间,或仅仅是命名空间,比如"click", "keydown.myPlugin", 或者 ".myPlugin".
    
    selector:一个最初传递到.on()事件处理程序附加的选择器。
    
    fn:事件处理程序函数以前附加事件上,或特殊值false.
    
    $(selector).off();            // 解绑匹配元素的所有事件
    
    $(selector).off("click");            // 解绑匹配元素的所有click事件
    
  • 事件触发
    概述:
    在每一个匹配的元素上触发某类事件.
    这个函数也会导致浏览器同名的默认行为的执行。比如,如果用trigger()触发一个'submit',则同样会导致浏览器提交表单。如果要阻止这种默认行为,应返回false。
    所有触发的事件现在会冒泡到DOM树上了。举例来说,如果你在一个段落p上触发一个事件,他首先会在这个元素上触发,其次到父元素,在到父元素的父元素,直到触发到document对象。这个事件对象有一个 .target 属性指向最开始触发这个事件的元素。你可以用 stopPropagation() 来阻止事件冒泡,或者在事件处理函数中返回false即可。

触发示例:

  $(selector).type();                  
  $(selector).trigger(type,[data]);  

参数:

  type:一个事件对象或者要触发的事件类型
  data:传递给事件处理函数的附加参数
posted @ 2020-11-12 21:04  南城北斋  阅读(17)  评论(0编辑  收藏