這就是“為未來(lái)元素添加事件”的方法了,
在潢川等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站建設(shè),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷推廣,成都外貿(mào)網(wǎng)站建設(shè),潢川網(wǎng)站建設(shè)費(fèi)用合理。
jquery里為未來(lái)元素添加事件的原理很簡(jiǎn)單,既然這個(gè)元素是未來(lái)的,那么我們可以把事件綁定在已經(jīng)存在的元素上,然后在發(fā)生點(diǎn)擊的時(shí)候,再來(lái)判斷所點(diǎn)擊的對(duì)象,是否為我們要的對(duì)象,然后再觸發(fā)事件。
$("div#id").on("click","button.do",function(){
//具體的內(nèi)容
});
上面這段代碼解釋起來(lái)就是,給div#id綁定一個(gè)click事件,并且觸發(fā)事件的對(duì)象為button.do時(shí),開(kāi)始執(zhí)行具體的內(nèi)容。
不管button.do是否為已經(jīng)存在的,還是未來(lái)添加的,都能執(zhí)行。
對(duì)于你的問(wèn)題,同理就能解決,
$("input[type='checkbox']").click
你的這句,把事件綁定到最近的父元素里,不要綁在離“太遠(yuǎn)”的父元素上,影響代碼的執(zhí)行效率,
可以,不過(guò)有點(diǎn)麻煩
jquery的給元素綁定的事件可以用data方法取出來(lái)
通過(guò)$(element).data("events")來(lái)獲取
// 比如給一個(gè)button綁定兩個(gè)click事件
$("button").click(function() { alert("1") });
$("button").click(function() { alert("2") });
// 這個(gè)時(shí)候點(diǎn)擊該button會(huì)分別彈出 2 和1的alert框
// 取出該button的所有click事件,是個(gè)數(shù)組
$("button").data('events').click
會(huì)看到兩個(gè)click事件的數(shù)組
得到該數(shù)組,你可以調(diào)整順序后再設(shè)回去
$("button").data('events').click = newEventArray;
首先使用jquery選擇器獲取到想要綁定click事件的img元素,然后可以直接綁定click方法,也可以通過(guò)bind方法綁定。這里詳細(xì)介紹一下bind方法。brbrjquery 事件 - bind() 方法 —— 定義和用法br bind() 方法為被選元素添加一個(gè)或多個(gè)事件處理程序,并規(guī)定事件發(fā)生時(shí)運(yùn)行的函數(shù)。brbrjquery 事件 - bind() 方法 ——將事件和函數(shù)綁定到元素br 規(guī)定向被選元素添加的一個(gè)或多個(gè)事件處理程序,以及當(dāng)事件發(fā)生時(shí)運(yùn)行的函數(shù)。brbrjquery 事件 - bind() 方法——語(yǔ)法br $(selector).bind(event,data,function)brbrjquery 事件 - bind() 方法——參數(shù)描述br event 必需。規(guī)定添加到元素的一個(gè)或多個(gè)事件。由空格分隔多個(gè)事件。必須是有效的事件。br data br可選。規(guī)定傳遞到函數(shù)的額外數(shù)據(jù)。br function br必需。規(guī)定當(dāng)事件發(fā)生時(shí)運(yùn)行的函數(shù)。brbr實(shí)例:br//直接給所有img標(biāo)簽綁定click事件br$("img").click(function(){br alert('你點(diǎn)擊了圖片');br})brbr//使用bind方法綁定click事件br$("img").bind("click",function(){br alert('你點(diǎn)擊了圖片');br})brbr拓展:jquery給元素綁定事件的方法還有one、live、toggle、on(新增)等方法,詳細(xì)可參考jquery官方文檔。
jQuery綁定點(diǎn)擊事件可以使用其綁定事件函數(shù)
jquery中四個(gè)事件綁定方式(bind,live,delegate,on)
1、bind()????
簡(jiǎn)要描述
bind()向匹配元素添加一個(gè)或多個(gè)事件處理器。
使用方式
$(selector).bind(event,data,function)
event:必需項(xiàng);添加到元素的一個(gè)或多個(gè)事件,例如 click,dblclick等;
單事件處理:例如?$(selector).bind("click",data,function);
多事件處理:
1.利用空格分隔多事件,例如?$(selector).bind("click dbclick mouseout",data,function);
2.利用大括號(hào)靈活定義多事件,例如?$(selector).bind({event1:function, event2:function, ...})
3.空格相隔方式:綁定較為死板,不能給事件單獨(dú)綁定函數(shù),適合處理多個(gè)事件調(diào)用同一函數(shù)情況;
大括號(hào)替代方式:綁定較為靈活,可以給事件單獨(dú)
綁定函數(shù);
data:可選;需要傳遞的參數(shù);
function:必需;當(dāng)綁定事件發(fā)生時(shí),需要執(zhí)行的函數(shù);
適用Jquery版本
適用所有版本,但是根據(jù)官網(wǎng)解釋,自從jquery1.7版本以后bind()函數(shù)推薦用on()來(lái)代替。
2、live()? ?
簡(jiǎn)要描述
live()?向當(dāng)前或未來(lái)的匹配元素添加一個(gè)或多個(gè)事件處理器;
使用方式
$(selector).live(event,data,function)
event:必需項(xiàng);添加到元素的一個(gè)或多個(gè)事件,例如 click,dblclick等;
單事件處理:例如?$(selector).live("click",data,function);
多事件處理:1.利用空格分隔多事件,例如?$(selector).live("click dbclick mouseout",data,function);
2.利用大括號(hào)靈活定義多事件,例如?$(selector).live({event1:function, event2:function, ...})
3.空格相隔方式:綁定較為死板,不能給事件單獨(dú)綁定函數(shù),適合處理多個(gè)事件調(diào)用同一函數(shù)情況;
大括號(hào)替代方式:綁定較為靈活,可以給事件單獨(dú)綁定函數(shù);
data:可選;需要傳遞的參數(shù);
function:必需;當(dāng)綁定事件發(fā)生時(shí),需要執(zhí)行的函數(shù);
適用Jquery版本
jquery1.9版本以下支持,jquery1.9及其以上版本刪除了此方法,jquery1.9以上版本用on()方法來(lái)代替。
3、delegate()
簡(jiǎn)要描述
delegate()?為指定的元素(被選元素的子元素)添加一個(gè)或多個(gè)事件處理程序,并規(guī)定當(dāng)這些事件發(fā)生時(shí)運(yùn)行的函數(shù)。使用 delegate() 方法的事件處理程序適用于當(dāng)前或未來(lái)的元素(比如由腳本創(chuàng)建的新元素)。
使用方式
$(selector).delegate(childSelector,event,data,function)
childSelector:?必需項(xiàng);需要添加事件處理程序的元素,一般為selector的子元素;
event:必需項(xiàng);添加到元素的一個(gè)或多個(gè)事件,例如 click,dblclick等;
單事件處理:例如?$(selector).delegate(childselector,"click",data,function);
多事件處理:1.利用空格分隔多事件,例如?$(selector).delegate(childselector,"click?dbclick mouseout",data,function);
2.利用大括號(hào)靈活定義多事件,例如?$(selector).delegate(childselector,{event1:function, event2:function, ...})
3.空格相隔方式:綁定較為死板,不能給事件單獨(dú)綁定函數(shù),適合處理多個(gè)事件調(diào)用同一函數(shù)情況;
大括號(hào)替代方式:綁定較為靈活,可以給事件單獨(dú)綁定函數(shù);
data:可選;需要傳遞的參數(shù);
function:必需;當(dāng)綁定事件發(fā)生時(shí),需要執(zhí)行的函數(shù);
適用Jquery版本
jquery1.4.2及其以上版本;
4、on()
簡(jiǎn)要描述
on()?為指定的元素,添加一個(gè)或多個(gè)事件處理程序,并規(guī)定當(dāng)這些事件發(fā)生時(shí)運(yùn)行的函數(shù)。使用 on() 方法的事件處理程序適用于當(dāng)前或未來(lái)的元素(比如由腳本創(chuàng)建的新元素)。
使用方式
$(selector).on(event,childselector,data,function)
event:必需項(xiàng);添加到元素的一個(gè)或多個(gè)事件,例如 click,dblclick等;
單事件處理:例如?$(selector).on("click",childselector,data,function);
多事件處理:1.利用空格分隔多事件,例如?$(selector).on("click?dbclick mouseout",childseletor,data,function);
2.利用大括號(hào)靈活定義多事件,例如?$(selector).on({event1:function, event2:function, ...},childselector);
3.空格相隔方式:綁定較為死板,不能給事件單獨(dú)綁定函數(shù),適合處理多個(gè)事件調(diào)用同一函數(shù)情況;
大括號(hào)替代方式:綁定較為靈活,可以給事件單獨(dú)綁定函數(shù);
childSelector:?可選;需要添加事件處理程序的元素,一般為selector的子元素;
data:可選;需要傳遞的參數(shù);
function:必需;當(dāng)綁定事件發(fā)生時(shí),需要執(zhí)行的函數(shù);
適用Jquery版本
jquery1.7及其以上版本;jquery1.7版本出現(xiàn)之后用于替代bind(),live()綁定事件方式;
四種方式的異同和優(yōu)缺點(diǎn)
相同點(diǎn):
1.都支持單元素多事件的綁定;空格相隔方式或者大括號(hào)替代方式;
2.均是通過(guò)事件冒泡方式,將事件傳遞到document進(jìn)行事件的響應(yīng);
比較和聯(lián)系:
1.bind()函數(shù)只能針對(duì)已經(jīng)存在的元素進(jìn)行事件的設(shè)置;但是live(),on(),delegate()均支持未來(lái)新添加元素的事件設(shè)置;
2.bind()函數(shù)在jquery1.7版本以前比較受推崇,1.7版本出來(lái)之后,官方已經(jīng)不推薦用bind(),替代函數(shù)為on(),這也是1.7版本新添加的函數(shù),同樣,可以
用來(lái)代替live()函數(shù),live()函數(shù)在1.9版本已經(jīng)刪除;
3.live()函數(shù)和delegate()函數(shù)兩者類似,但是live()函數(shù)在執(zhí)行速度,靈活性和CSS選擇器支持方面較delegate()差些
4.bind()支持Jquery所有版本;live()支持jquery1.8-;delegate()支持jquery1.4.2+;on()支持jquery1.7+;
總結(jié)
如果項(xiàng)目中引用jquery版本為低版本,推薦用delegate(),高版本jquery可以使用on()來(lái)代替,以上僅為個(gè)人看法
首先要給圖片添加一個(gè)Id,之后在jquery中寫(xiě)如下代碼:
$("#圖片ID").click(function(){
alert("aa”);
});
或者
$("#圖片ID").bind("click",function(){
alert("aa");
});
擴(kuò)展資料:
Click 事件實(shí)際應(yīng)用:
此事件是在一個(gè)對(duì)象上按下然后釋放一個(gè)鼠標(biāo)按鈕時(shí)發(fā)生。它也會(huì)發(fā)生在一個(gè)控件的值改變時(shí)。
對(duì)一個(gè)?Form?對(duì)象來(lái)說(shuō),該事件是在單擊一個(gè)空白區(qū)或一個(gè)無(wú)效控件時(shí)發(fā)生。對(duì)一個(gè)控件來(lái)說(shuō),這類事件的發(fā)生是當(dāng): 用鼠標(biāo)的左鍵或右鍵單擊一個(gè)控件。對(duì)?CheckBox,?CommandButton,?Listbox?或?OptionButton?控件來(lái)說(shuō),Click 事件僅當(dāng)單擊鼠標(biāo)左鍵時(shí)發(fā)生。
通過(guò)按下箭頭鍵或者單擊鼠標(biāo)按鈕,對(duì)?ComboBox?或?ListBox?控件中的項(xiàng)目進(jìn)行選擇。
當(dāng)?CommandButton,OptionButton?或?CheckBox?控件具有焦點(diǎn)時(shí),按下 SPACEBAR 鍵。
當(dāng)窗體帶有其?Default?屬性設(shè)置為?True?的?CommandButton?控件時(shí),按下 ENTER 鍵。
當(dāng)窗體帶有一個(gè) Cancel 按鈕 — 其?Cancel?屬性設(shè)置為?True?的?CommandButton?控件時(shí),按下 ESC 鍵。
對(duì)控件按下一個(gè)訪問(wèn)鍵。例如,如果一個(gè)?CommandButton?控件的標(biāo)題是 "Go",則按下 ALT+G 鍵可觸發(fā)該事件。 也可在代碼中觸發(fā) Click 事件,通過(guò): 將一個(gè)?CommandButton?控件的?Value?屬性設(shè)置為?True。
將一個(gè)?OptionButton?控件的?Value?屬性設(shè)置為?True。
改變一個(gè)?CheckBox?控件的?Value?屬性的設(shè)置。
參考資料來(lái)源:百度百科:Click事件