on(eve,[sel],[data],fn)

返回值

jQuery

概述

在选择元素上绑定一个或多个事件的事件处理函数。

on()方法绑定事件处理程序到当前选定的jQuery对象中的元素。在jQuery 1.7中,.on()方法 提供绑定事件处理程序所需的所有功能。帮助从旧的jQuery事件方法转换,see .bind(), .delegate(), 和 .live(). 要删除的.on()绑定的事件,请参阅.off()。要附加一个事件,只运行一次,然后删除自己, 请参阅.one()

参数

参数 类型 说明 示例值
events,[selector],[data],fn

v1. 7
events:一个或多个用空格分隔的事件类型和可选的命名空间,如"click"或"keydown.myPlugin"
selector:一个选择器字符串用于过滤器的触发事件的选择器元素的后代。如果选择的 null或省略,当它到达选定的元素,事件总是触发。
data:当一个事件被触发时要传递event.data给事件处理函数。
fn:该事件被触发时执行的函数。 false 值也可以做一个函数的简写,返回false。

events-map,[selector],[data]

v1. 7
events-map:个用字符串表示的,一个或多个空格分隔的事件类型和可选的命名空间,值表示事件绑定的处理函数。
selector:一个选择器字符串过滤选定的元素,该选择器的后裔元素将调用处理程序。如果选择是空或被忽略,当它到达选定的元素,事件总是触发。
data:当一个事件被触发时要传递event.data给事件处理函数。

示例

描述:当段落被点击时,在警告中显示该段落的文本

$("p").on("click", function(){
    alert( $(this).text() );
});

将数据传递给事件处理程序,这里通过名称指定

function myHandler(event) {
    alert(event.data.foo);阿
}
$("p").on("click", {foo: "bar"}, myHandler)

取消表单提交操作,并返回 false 以防止事件冒泡

$("form").on("submit", false)

使用.preventDefault()仅取消默认操作

$("form").on("submit", function(event) {  
    event.preventDefault();
});

使用.stoppagation()停止提交事件,而不阻止表单提交。

$("form").on("submit", function(event) {  
    event.stopPropagation();
});