最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JQuery中如何傳遞參數(shù)如click(),change()等具體實(shí)現(xiàn)

 更新時(shí)間:2013年04月28日 17:08:47   作者:  
有個(gè)需求讓兩個(gè)select中option相互轉(zhuǎn)換,這個(gè)作業(yè)就是給幾個(gè)按鈕添加click()事件接下來為大家介紹下如何在click(),change()傳遞參數(shù)
因?yàn)橐鲞@樣一個(gè)作業(yè),就是兩個(gè)select中option相互轉(zhuǎn)換,圖如下:

這個(gè)作業(yè)就是給幾個(gè)按鈕添加click()事件,一般的用法是這樣的:
復(fù)制代碼 代碼如下:

$("#but_one").click(function(){
$("#select1 option:selected").appendTo($("#select2"));
});

然后我查找了官方文檔,對(duì)click的說明是這樣的,后來我還是沒有百度到答案,
我考慮到代碼的重用性,想直接傳"select1"和"select2"字符串進(jìn)去,我就使用下面的方法:
復(fù)制代碼 代碼如下:

$("#but_one").click(select("select1","select2"));
//提高代碼重用性,根據(jù)函數(shù)變更
function select(s1,s2){ $(("#"+s1+"option:selected")).appendTo($("#"+s2));
}

后來發(fā)現(xiàn)jQuery中,如果使用函數(shù)名加括號(hào),就是執(zhí)行,所以我綁定事件的時(shí)候就執(zhí)行了,如select()就執(zhí)行了,后來百度了一下也沒有找到答案,就去google了一下,乖乖,還真找到了,在stackoverflow論壇上面找到了答案.然后我的代碼就變成了這樣:
復(fù)制代碼 代碼如下:

$(function(){
var obj1 = {s:"select1",s2:"select2"};
var obj2 = {s:"select2",s2:"select1"};
$("#1").click(obj1,select);
$("#2").click(obj1,select2);
$("#3").click(obj2,select);
$("#4").click(obj2,select2);
function select(event){
console.debug(event.data.s);
$(("#"+event.data.s+" option:selected")).appendTo($("#"+event.data.s2));
}
function select2(event){
$("#"+event.data.s+" option").appendTo($("#"+event.data.s2));
}
});

click(data,fn)中的data其實(shí)是json對(duì)象,取的時(shí)候,只能通過當(dāng)前的事件源來取,data是默認(rèn)放在event中的,所以這里的data是eventdata,引用的時(shí)候也使用event.data.name,也就是說JQuery中的所有觸發(fā)時(shí)間的方法,需要傳遞參數(shù)都可以通過eventdata對(duì)象來傳遞參數(shù):
這里分享下老外的代碼 :
復(fù)制代碼 代碼如下:

$("select#test").change({msg: "ok"}, function(event) {
myHandler(event.data.msg);
});

相關(guān)文章

最新評(píng)論

喀什市| 平陆县| 和平区| 睢宁县| 石楼县| 吉木萨尔县| 屯留县| 荆门市| 林西县| 应城市| 福鼎市| 合江县| 青铜峡市| 旺苍县| 阿鲁科尔沁旗| 昆明市| 惠安县| 台北县| 江津市| 凌源市| 玉环县| 东阿县| 武定县| 乐都县| 三明市| 明溪县| 江西省| 南雄市| 宿迁市| 彭泽县| 卫辉市| 亳州市| 苍南县| 灵山县| 韶山市| 宿州市| 砀山县| 山阴县| 观塘区| 大姚县| 双牌县|