directory search
jQuery Mobile 基础教程 jQuery Mobile 安装 jQuery Mobile 页面 jQuery Mobile 页面切换 jQuery Mobile 按钮 jQuery Mobile 按钮图标 jQuery Mobile 工具栏 jQuery Mobile 可折叠块 jQuery Mobile 网格 jQuery Mobile 表单 jQuery Mobile 表单 jQuery Mobile 表单输入元素 jQuery Mobile 表单选择菜单 jQuery Mobile 表单滑动条 jQuery Mobile 列表 jQuery Mobile 列表视图 jQuery Mobile 列表内容 jQuery Mobile 事件 jQuery Mobile 事件 jQuery Mobile 触摸事件 jQuery Mobile 滚屏事件 jQuery Mobile 方向改变事件 jQuery Mobile 实例 jQuery Mobile Data 属性 jQuery Mobile 图标 jQuery Mobile 事件 jQuery Mobile orientationchange 事件 jQuery Mobile pagebeforecreate 事件 jQuery 事件 方法 jQuery bind() 方法 jQuery blur() 方法 jQuery change() 方法 jQuery click() 方法 jQuery dblclick() 事件 jQuery delegate() 方法 jQuery die() 方法 jQuery error() 方法 jQuery event.currentTarget 属性 jQuery event.data 属性 jQuery event.delegateTarget 属性 jQuery event.isDefaultPrevented() 方法 jQuery event.isImmediatePropagationStopped() 方法 jQuery event.isPropagationStopped() 方法 jQuery event.namespace 属性 jQuery event.pageX 属性 jQuery event.pageY 属性 jQuery event.preventDefault() 方法 jQuery event.relatedTarget 属性 jQuery event.result 属性 jQuery event.stopImmediatePropagation() 方法 jQuery event.stopPropagation() 方法 jQuery event.target 属性 jQuery event.timeStamp 属性 jQuery event.type 属性 jQuery event.which 属性 jQuery focus() 方法 jQuery focusin() 方法 jQuery focusout() 方法 jQuery hover() 方法 jQuery keydown() 方法 jQuery keypress() 方法 jQuery keyup() 方法 jQuery live() 方法 jQuery load() 方法 jQuery mousedown() 方法 jQuery mouseenter() 方法 jQuery mouseleave() 方法 jQuery mousemove() 方法 jQuery mouseout() 方法 jQuery mouseover() 方法 jQuery mouseup() 方法 jQuery off() 方法 jQuery on() 方法 jQuery one() 方法 jQuery $.proxy() 方法 jQuery ready() 方法 jQuery resize() 方法 jQuery scroll() 方法 jQuery select() 方法 jQuery submit() 方法 jQuery toggle() 方法 jQuery trigger() 方法 jQuery triggerHandler() 方法 jQuery unbind() 方法 jQuery undelegate() 方法 jQuery unload() 方法 jQuery Mobile pagebeforehide 事件 jQuery Mobile pagebeforeload 事件 jQuery Mobile pagebeforeshow 事件 jQuery Mobile pagecreate 事件 jQuery Mobile pagehide 事件 jQuery Mobile pageinit 事件 jQuery Mobile pageload 事件 jQuery Mobile pageloadfailed 事件 jQuery Mobile pageshow 事件 jQuery Mobile scrollstart 事件 jQuery Mobile scrollstop 事件 jQuery Mobile swipe 事件 jQuery Mobile swipeleft 事件 jQuery Mobile swiperight 事件 jQuery Mobile tap 事件 jQuery Mobile taphold 事件 jQuery Mobile 页面事件 jQuery Mobile CSS 类 jQuery Mobile 主题 jQuery Mobile 主题 jQuery Mobile 图标
characters

jQuery on() 方法


实例

向 <p> 元素添加 click 事件处理程序:

$("p").on("click",function(){
alert("The paragraph was clicked.");
});
效果预览 »

定义和用法

on() 方法在被选元素及子元素上添加一个或多个事件处理程序。

自 jQuery 版本 1.7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。该方法给 API 带来很多便利,我们推荐使用该方法,它简化了 jQuery 代码库。

注意:使用 on() 方法添加的事件处理程序适用于当前及未来的元素(比如由脚本创建的新元素)。

提示:如需移除事件处理程序,请使用 off() 方法。

提示:如需添加只运行一次的事件然后移除,请使用 one() 方法。


语法

$(selector).on(event,childSelector,data,function,map)

参数 描述
event 必需。规定要从被选元素移除的一个或多个事件或命名空间。

由空格分隔多个事件值。必须是有效的事件。
childSelector 可选。规定只能添加到指定的子元素上的事件处理程序(且不是选择器本身,比如已废弃的 delegate() 方法)。
data 可选。规定传递到函数的额外数据。
function 可选。规定当事件发生时运行的函数。
map 规定事件映射 ({event:function, event:function, ...}),包含要添加到元素的一个或多个事件,以及当事件发生时运行的函数。

在线实例

从 bind() 改为 on()
如何使用 on() 来达到与 bind() 相同的效果。

Changing from delegate() to on()
如何使用 on() 来达到与 delegate() 相同的效果。

从 live() 改为 on()
如何使用 on() 来达到与 live() 相同的效果。

添加多个事件处理程序
如何向元素添加多个事件处理程序。

使用 map 参数添加多个事件处理程序
如何使用 map 参数向被选元素添加多个事件处理程序。

在元素上添加自定义事件
如何在元素上添加自定义命名空间事件。

向函数传递数据
如何向函数传递数据。

向未来的元素添加事件处理程序
演示 on() 方法也适用于尚未创建的元素。

移除事件处理程序
如何使用 off() 方法移除事件处理程序。


Previous article: Next article: