jquery移除、繫結、觸發元素事件使用示例詳解
阿新 • • 發佈:2019-01-26
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 函式