麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

JQuery中如何傳遞參數如click(),change()等具體實現

2019-11-20 22:45:36
字體:
來源:轉載
供稿:網友
因為要做這樣一個作業,就是兩個select中option相互轉換,圖如下:

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

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

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

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

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

$(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其實是json對象,取的時候,只能通過當前的事件源來取,data是默認放在event中的,所以這里的data是eventdata,引用的時候也使用event.data.name,也就是說JQuery中的所有觸發時間的方法,需要傳遞參數都可以通過eventdata對象來傳遞參數:
這里分享下老外的代碼 :
復制代碼 代碼如下:

$("select#test").change({msg: "ok"}, function(event) {
myHandler(event.data.msg);
});
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美成人福利 | 精品国产91久久久久 | caoporn国产一区二区 | 在线1区| www视频免费在线观看 | 久久久国产精品网站 | 羞羞视频.www在线观看 | 国产91极品 | 精品国产91久久久久久 | 午夜天堂在线视频 | 国产做爰 | 久久人人人 | 免费国产网站 | 国产91亚洲精品久久久 | www.777含羞草 | 一级大黄毛片 | 久久精品79国产精品 | 久久新网址 | 成人在线视频网 | 久久国精品 | 中文字幕一区在线观看视频 | 成年片在线观看 | 欧美特黄一级高清免费的香蕉 | av观看网站 | 538任你躁在线精品视频网站 | 毛毛片在线看 | 日韩激情在线视频 | 91福利社在线 | 久久男人的天堂 | 久久国产精品一区 | 美女色影院 | 国产精品久久久久久模特 | 97超级碰碰人国产在线观看 | 欧美一级一区二区三区 | 日韩精品久久久 | 黄污网址| 九九热免费观看 | 干色视频 | 欧美不卡视频在线观看 | 久久凹凸| 最新中文字幕第一页视频 |