1. 程式人生 > >jquery移除、繫結、觸發元素事件使用示例詳解

jquery移除、繫結、觸發元素事件使用示例詳解

unbind(type [,data])     //data是要移除的函式
$('#btn').unbind("click"); //移除click
$('#btn').unbind(); //移除所有


對於只需要觸發一次的,隨後就要立即解除繫結的情況,用one()

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

觸發操作

trigger() 方法觸發被選元素的指定事件型別。

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

也可以直接執行事件

$('#btn').click();

觸發自定義事件
bind() 方法為被選元素新增一個或多個事件處理程式,並規定事件發生時執行的函式。

$('#btn').bind("myclick",function(){....});

模擬觸發上面的繫結函式

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

傳遞資料trigger(event,[param1,param2,...])

$('#btn').bind("myclick",function(event,message1,message2){...........});
$('#btn').trigger("myclick",["傳給message1","傳給message2"]);

觸發執行預設操作

$("input").trigger("focus");
//不僅會觸發input元素繫結的focus事件,還會觸發預設操作——得到焦點

只觸發繫結事件,不執行瀏覽器預設操作

$("input").triggerHandler("focus");
//只觸發繫結事件,不執行瀏覽器預設操作

其他用法

繫結多個事件型別

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

新增事件名稱空間

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

在所繫結的世界型別後面新增名稱空間,這樣在刪除事件時只需要指定名稱空間即可。

$("div").unbind(".plugin");   //刪除空間內的事件
$("div").trigger("click!"); //觸發所以不包含在名稱空間中的click方法

如果包含在名稱空間的也要觸發

$(“div”).trigger(“click”);

取消或者繫結函式

$('div').bind('click', RecommandProduct);//為div繫結RecommandProduct 函式
$('div').unbind('click', RecommandProduct);//取消RecommandProduct 函式