描述:给一个或多个元素(当前的或未来的)的一个或多个事件绑定一个事件处理函数。(1.7版本开始支持,是 bind()、live() 和 delegate() 方法的新的替代品)

语法:.on( events [, childSelector] [, data ], handler )

参数说明:

1.events - 事件(必须):String

一个或多个事件(或任意命名空间),比如"click"或 "keydown.myPlugin"。

2.childSelector- 子元素选择器(可选):String

选择选择器子元素的选择器。如果这个子元素选择器是null或者省略了,那么事件总是被选择器触发。(多用于动态生成的元素)

3.data - 数据(可选):Anything

事件被触发时要传递给事件处理函数的数据。

4.handler - 事件处理函数(必须):Function( Event eventObject [, Anything extraParameter ] [, ... ] )

* 要传参数,第一个参数必须是event(事件)。

简单例子:

$(document).on('click', function() { // 给整个文档添加点击事件,给点击事件绑定一个事件处理函数(弹出1)
alert(1);
})

这里的click是事件(events),function是事件处理函数(handler)

click是点击事件,还支持其他事件,下面是完整列表:

blur 失去焦点事件
focus 获得焦点事件
focusin 获得焦点事件
focusout 失去焦点事件(和blur有所区别)
load 加载事件
resize 改变大小事件
scroll 滚动事件
unload 重新加载事件
click 单击事件
dblclick 双击事件
mousedown 鼠标滑轮向下滚动事件
mouseup 鼠标滑轮向上滚动事件
mousemove 鼠标移动事件
mouseover 鼠标经过/移入事件
mouseout 鼠标移出事件
mouseenter  鼠标移入事件
mouseleave 鼠标移开事件
change 值改变事件
select 选择事件
submit 提交事件
keydow 键盘按下事件
keypress 键盘按键按下事件
keyup 键盘按键弹起事件
error 错误事件
contextmenu 右键菜单事件

复杂例子1(给动态生成的元素绑定事件):

<div class="container"></div>
var $div = $('<div class="content"></div>'); // 创建一个class为"content"的div
$('.container').append($div); // 将创建的div添加到class为"container"的div中 $('.container').on('click', '.content', function() { // 将事件绑定到动态生成的div上
alert(1);
});

这里看起来是将事件触发函数绑定到选择器$('.container')的点击事件上,事实上是绑定到选择器的子元素.content的点击事件上。

复杂例子2(触发事件时传递参数):

<button>点我啊快点我</button>
$('button').on('click', function(event, arg1, arg2) {
alert('参数1: ', arg1, '参数2:', arg2);
}).trigger('click', ['我是参数1', '我是参数2']);

这里先给元素绑定事件,并定义好传参,随后直接触发并传递实参。注意的是形参的第一个必须是event,即从第二个形参开始才是实际要传递给处理函数的自定义参数。

复杂例子3(阻止冒泡):

<div class="out">
<div class="in"><div>
</div>
$('.in').on('click', function(e) {
alert(1);
e.stopPropagation();
});

这里如果不阻止向上冒泡,会alert两次,原因是in元素是在out元素里面的,in绑定的事件会冒泡到out上。

"我不会再为你难过了。"

jquery on绑定事件的更多相关文章

  1. jquery on 绑定事件

    jquery on 绑定事件 1. 多个选择器绑定一个事件 2. 多个事件绑定一个函数 3. 一个选择器绑定多个事件,有两种写法: 或者 on只绑定一次事件,绑定父元素,防止初始化时数据未加载,绑定出 ...

  2. jQuery中绑定事件bind() on() live() one()的异同

    jQuery中绑定事件的四种方法,他们可以同时绑定一个或多个事件 bind()-------------------------版本号小于3.0(在Jquery3.0中已经移除,相应unbind()也 ...

  3. jQuery中绑定事件的几种方法

    以click事件为例,jQuery中绑定事件有三种方法: (1)target.click(function(){});  (2)target.bind("click",functi ...

  4. JQuery中绑定事件(bind())和移除事件(unbind())

    有时候事件执行完了,想取消事件的效果可以通过一定的办法来处理.比如bind()(绑定事件)和unbind()(移除通过bind()方法添加的事件)方法来移除事件的效果. 比如下面的一个案例: 复制代码 ...

  5. jquery on绑定事件叠加解决方法

    jquery on绑定事件叠加解决方法 代码如下 <pre> $('.maoqiu').each(function () { var is_bind = $(this).attr('is_ ...

  6. jQuery .on() 绑定事件无效

    前几天,要在移动端实现一系列的功能,用 HTML + JS. 按照以往的思路,事件绑定就直接 $(document).on "click", "selector" ...

  7. jquery 获取绑定事件

    在1.8.0版本之前,我们要想获取某个DOM绑定的事件处理程序可以这样: 1 $.data(domObj,'events');//或者$('selector').data('events') 而从1. ...

  8. Jquery 欲绑定事件

    有时候,想提前给即将添加的的元素绑定事件,这时候使用on就不行了,利用事件的冒泡机制可以完成这个功能 Jquery 提供了delegate方法就是这样实现的. $("#schemaaccor ...

  9. 用jQuery来绑定事件的3种方法和区别

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. Jquery中绑定事件的异同

    谈论jquery中bind(),live(),delegate(),on()绑定事件方式 1. Bind() $(selector).bind(event,data,function) Event:必 ...

随机推荐

  1. 数据结构【查找】—平衡二叉树AVL

    /*自己看了半天也没看懂代码,下次再补充说明*/ 解释: 平衡二叉树(Self-Balancing Binary Search Tree 或Height-Balanced Binary Search ...

  2. Java数据结构简述

    1.数组 概念:一个存储元素的线性集合. 数组声明和创建: dataType[] arrayRefVar = new dataType[arraySize]; 二维数组(多维数组)声明和创建: dat ...

  3. Spring的jdbc模板2:使用开源的连接池

    上篇简要介绍了如何在spring中配置默认的连接池和jdbc模板,这篇来介绍开源的连接池配置与属性引入 C3P0连接池配置: 引入jar包 配置c3p0连接池 <?xml version=&qu ...

  4. 关于HashMap的一些深入探索与理解

    在java中.大家差点儿是离不开对集合的使用的,像Map系列,List系列.Set系列.可是非常多人没有了解过或者研究过这些集合类究竟能够用在什么地方,而且有什么注意的地方.因此本文分Map系列和Li ...

  5. android studio 定位具体的错误原因

    编译一个数据监测APP的时候出现了报错: Error:Compilation failed; see the compiler error output for details. 在网上查到方法如下: ...

  6. springboot常见写法

    访问html文件 对于aa.html页面,采用跳转到方式:放在templates目录下时,要加一个thymeleaf依赖,并在controller跳转. 不用跳转到方式: 将依赖去掉,将control ...

  7. dep包安装与依赖库

    安装 点击下载 .deb 包:使用sudo dpkg -i xxx.deb 命令安装 依赖库问题 用sudo apt-get install -f解决依赖问题,解决后重新运行dpkg -i安装命令 验 ...

  8. sku回忆笔记

    分类表:(商品分类编号, 分类名称, 父分类编号)(1, 男装, 0)(2, 裤子, 1)(3, 外套, 1)(4, 内裤, 1)(5, 袜子, 1) 商品表:(商品编号, 商品名称, 商品分类编号, ...

  9. 09 python初学 (字符串)

    # 重复输出字符串 print('hello' * 2) # >>>hellohello # 字符串切片操作,最重要的!!!! print('hello'[2:]) # >&g ...

  10. GoldenGate OGG-01032 There Is a Problem in Network Communication Error in Writing to Rmt Remote Trail Rmttrail (Doc ID 1446621.1)

    GoldenGate OGG-01032 There Is a Problem in Network Communication Error in Writing to Rmt Remote Trai ...