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  南城北斋  阅读(174)  评论(0)    收藏  举报