JQuery 事件监听

什么是事件监听

当用户在界面上执行一个操作,例如按下键盘、拖动或者单击鼠标时,都将产生一个事件。类似的DOM事件如:onclick、onmouseover、onmouseout、onkeydown、onkeyup、onkeypress、onload、onselect、onchange、onchange、onfoucs、onblur等等。那么,我们对这些事件进行监听就叫做事件监听。

on() 和 click() 的区别

二者在绑定静态控件时没有区别,但是如果面对动态产生的控件,只有 on() 能成功的绑定到动态控件中。

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

语法

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

代码

$('#target').on('click',function(event){
    console.log('target');
});

说明 

参数描述
event必需。事件对象。规定要从被选元素移除的一个或多个事件或命名空间。由空格分隔多个事件值,也可以是数组。必须是有效的事件。
childSelector可选。规定只能添加到指定的子元素上的事件处理程序。
data可选。规定传递到函数的额外数据。当一个事件被触发时要传递event.data给事件处理函数。
function可选。事件回调函数。规定当事件发生时运行的函数。

注意:on前面的元素必须在页面初始化的时候就存在静态页里面。

事件监听与事件委托

$("#id").on("click",function() {
   // 事件监听:只能监听页面已有元素所绑定的事件
});
$(document).on('click', '.xxx', function() {
   // 事件委托:对于动态绑定元素可以这样写,委托给父元素进行事件监听代理
});
$("#parentNode").on('click', '#children', function() {
   // document可以改成要绑定事件元素的父节点
});

多个事件绑定同一个函数

$("#id").on("click dbclick",function() {
   // 同时绑定单击和双击事件
});

多个事件绑定多个函数

$("p").on({

    mouseover:function(){····},  

    mouseout:function(){····}, 

    click:function(){····}  

  });

为事件传递额外数据

function handlerName(event) {
  alert(event.data.msg);
}

$(document).ready(function() {
  $("p").on("click", {msg: "You just clicked me!"}, handlerName)
});

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mephisto180502

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值