一、jQuery綁定事件的三種方法
我們這里首先復習一下jQuery綁定事件的三種方法:
target.click(function(){}); target.on("click",function(){}); target.bind("click",function(){}); target.live("click",function(){});
live方法其實是bind方法的變種,其基本功能就同bind方法的功能是一樣的,都是為一個元素綁定某個事件,但是bind方法只能給當前存在的元素綁定事件,對於事后采用JS等方式新生成的元素無效,而live方法則正好彌補了bind方法的這個缺陷,它可以對后生成的元素也可以綁定相應的事件。
二、傳遞參數
1.使用trigger觸發事件來進行參數傳遞
$('p:first').bind('myclick',function(event,arg1,arg2){
$(arg1).appendTo('body');
console.log(arg2);
});
$('input').click(function(){
$('p:first').trigger('myclick',//這里觸發了myclick事件
['<div><a href="http://www.google.com.hk">google</a></div>'
,'this is to console.log']); //第二個參數 string
});
2.使用bind傳遞參數
var name_value='stonecold'; $('p').bind('click',{name:name_vlaue},function(event){ console.log(event.data.name);//結果在控制台上顯示為stonecold });
3.在簡單的事件中傳遞參數
A:首先定義一個函數,在點擊的時候觸發:
function fn_name(arg1){ $(arg1).appendTo('body'); }
B:定義一個變量作為參數傳遞
var arg='<a href="http://www.google.com.hk">google<a>'; $('img:first').click(function(){ fn_name(arg); });
