当前位置: 首页 > 前端笔记 > JQUERY > jQuery事件传递参数
2014年08六月

jQuery事件传递参数

jQuery事件传递参数

原来刚学jQuery时候,绑定事件传递自定义参数的时候很费解,不知道怎么传,这篇文章希望能帮到和我一样困扰的同学。

jQuery以上绑定事件有3种方法:

1.用bind来绑定:

$('#demo').bind('click', function(event){
	alert('你点击了我');
});

2.使用on来绑定:

$('#demo').on('click', function(event){
	alert('你点击了我');
});

3.直接用事件函数,在原生JS里面事件是onclick,对应jQuery里面只需要把前面的on去掉就可以了:

$('#demo').click(function(event){
	alert('你点击了我');
});

个人建议用bind或者是on来绑定事件,因为他们对应有卸载事件unbind和off。强烈建议用on,因为on可以做“事件委托”,比如你对#demo下的所有的a都绑定了一个click事件,你会发现用JS创建的a这个click事件是没有的,所以你不得不在创建的时候重新在绑定一次事件,造成管理上的麻烦,所以现在就要用到“事件委托”。

$('#demo').on('click', 'a', function(event){
	alert('你点击了我');
});

$('#demo')必须是存在,不能是由js创建的对象,否则是无效的。

貌似说篇了,回到正题,绑定事件传参:

$('body').on('click', 'a', {"var1":"aaa", "var2":"bbb"}, function(event){
	alert(event.data.var1);
	alert(event.data.var2);
});

然后还可以这样:

$('body').on('click', 'a', function(event, a, b){
	alert(a);
	alert(b);
});
$('body a').trigger('click', ["ccc", "ddd"]);

文章信息

  • 发布日期:2014年06月08日 11:10:30
  • 固定地址:http://www.estorm.cn/notes/jquery/2014-06-08/jquery-event-pass-parameter.html