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便可。code

触发示例:对象

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

参数:事件

type:一个事件对象或者要触发的事件类型
  data:传递给事件处理函数的附加参数
相关文章
相关标签/搜索