XieYang-blog

jQuery 事件

移除事件

unbind(type [, data]), data 是要移除的函数

1
2
$('#btn').unbind("click");    //移除click
$('#btn').unbind(); //移除所有

对于只需要触发一次的,随后就要立即解除绑定的情况,用one()

1
2
3
$('#btn').one("click", function () { 
...
});

模拟操作

可以用 trigger() 方法完成模拟操作。

1
2
$('#btn').trigger("click"); 
$('#btn').click();

触发自定义事件

1
2
3
4
5
$('#btn').bind("myclick", function() {
...
});

$('#btn').trigger("myclick");

传递数据

trigger(type [, data]);

1
2
3
4
5
$('#btn').bind("myclick", function(event, message1, message2) {
...
});

$('#btn').trigger("myclick", ["传给message1", "传给message2"]);

执行默认操作

1
2
3
$("input").trigger("focus");       //不仅会触发input元素绑定的focus事件,还会触发默认操作——得到焦点。

$("input").triggerHandler("focus"); //只触发绑定事件,不执行浏览器默认操作

其他用法

绑定多个事件类型

1
2
3
$("div").bind("mouseover mouseout", function() {
...
});

添加事件命名空间

1
2
3
$("div").bind("click.plugin", function() {
...
});

在所绑定的事件类型后面添加命名空间,这样在删除事件时只需要指定命名空间即可。

1
2
3
$("div").unbind(".plugin");   //删除空间内的事件

$("div").trigger("click!"); //触发所有不包含在命名空间中的click方法

如果包含在命名空间的也要触发:

1
$("div").trigger("click");

另外摘录

===

1
2
$('div').bind('click', RecommandProduct);   //为div绑定RecommandProduct 函数
$('div').unbind('click', RecommandProduct); //取消RecommandProduct 函数
🐶 您的支持将鼓励我继续创作 🐶