码迷,mamicode.com
首页 > Web开发 > 详细

jquery-event(事件)-on()方法

时间:2015-07-26 00:38:37      阅读:505      评论:0      收藏:0      [点我收藏+]

标签:事件   event   selector   

jquery on()事件绑定方法的语法:
其中[selector],[data]为可选,可以要也可以不要当你需要过滤(筛选)或者需要传递event.data
注:最后会单独说下event.data

on(events,[selector],[data],fn)

例子:

$(function(){
                 $(document).on(‘click‘,‘h1 span‘,function(){
                        alert($(this).text()) ;
                 });
});

HTML

<body>
<div>div</div>
<div id=‘odiv1‘>div_id = odiv1</div>
<span>span</span>
<h1>
h1
<span>span</span>
</h1>

</body>

on()多个事件绑定的方法
和前面差不多一样,只不过加了是多个空格

$(function(){
                 $(document).on(‘click mousemove‘,‘h1 span‘,function(){
                        alert($(this).text()) ;
                 });
});

html代码段和前面一样
我还是复制过来吧

<body>
<div>div</div>
<div id=‘odiv1‘>div_id = odiv1</div>
<span>span</span>
<h1>
h1
<span>span</span>
</h1>

</body>

on()多个事件设置多个不同的效果:
jquery代码块:

$(‘span‘).on({
                    ‘click‘:function(){
                        console.log($(this).html()) ;
                    } ,
                    ‘mousemove‘:function(){
                        alert($(‘div‘).html());
                    }
 }) ;

html代码块:

<body>
<div>div</div>
<div id=‘odiv1‘>div_id = odiv1</div>
<span>span</span>
<h1>h1<span>span</span></h1>
</body>

event.data单独讲解:

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

最后说下on()可以根据boolean的不同模拟jquery库中的某些事件方法
如:当’selector’为null时,on()和bind()差不多就是一样的了
当然也可以模拟live()方法
如:
live()写法:

$(‘#list li‘).live(‘click‘, ‘#list li‘, function() {
    //function code here.
}); 

on()写法

$(document).on(‘click‘, ‘#list li‘, function() {
    //function code here.
});

还可以替换替换delegate()
delegate()是1.4引入的,目的是通过祖先元素来代理委派后代元素的事件绑定问题,某种程度上和live()优点相似。只不过live()是通过document元素委派,而delegate则可以是任意的祖先节点。使用on()实现代理的写法和delegate()基本一致。
delegate()写法:


$(‘#list‘).delegate(‘li‘, ‘click‘, function() {
    //function code here.
});

on()写法:


$(‘#list‘).on(‘click‘, ‘li‘, function() {
    //function code here.
});

版权声明:本文为博主原创文章,未经博主允许不得转载。

jquery-event(事件)-on()方法

标签:事件   event   selector   

原文地址:http://blog.csdn.net/u010061287/article/details/47061271

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!