這就是“為未來元素添加事件”的方法了,
創(chuàng)新互聯(lián)專注于于田網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供于田營銷型網(wǎng)站建設(shè),于田網(wǎng)站制作、于田網(wǎng)頁設(shè)計(jì)、于田網(wǎng)站官網(wǎng)定制、微信平臺(tái)小程序開發(fā)服務(wù),打造于田網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供于田網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
jquery里為未來元素添加事件的原理很簡單,既然這個(gè)元素是未來的,那么我們可以把事件綁定在已經(jīng)存在的元素上,然后在發(fā)生點(diǎn)擊的時(shí)候,再來判斷所點(diǎn)擊的對象,是否為我們要的對象,然后再觸發(fā)事件。
$("div#id").on("click","button.do",function(){
//具體的內(nèi)容
});
上面這段代碼解釋起來就是,給div#id綁定一個(gè)click事件,并且觸發(fā)事件的對象為button.do時(shí),開始執(zhí)行具體的內(nèi)容。
不管button.do是否為已經(jīng)存在的,還是未來添加的,都能執(zhí)行。
對于你的問題,同理就能解決,
$("input[type='checkbox']").click
你的這句,把事件綁定到最近的父元素里,不要綁在離“太遠(yuǎn)”的父元素上,影響代碼的執(zhí)行效率,
可以用事件委托,jquery提供on()方法(jquery 1.7.0 以上版本)來委托綁定事件:
ul?class="list"
lia?href="javascript:;"導(dǎo)航1/a/li
lia?href="javascript:;"導(dǎo)航2/a/li
/ul
$('.list').find('a').on('click',?function(){
$(this).addClass('active').siblings().removeClass('active');
});
這樣.list里通過js動(dòng)態(tài)創(chuàng)建的a節(jié)點(diǎn)也能響應(yīng)click事件。
在實(shí)際開發(fā)中會(huì)遇到要給動(dòng)態(tài)生成的html元素綁定觸發(fā)事件的情況:
div
id="testdiv"
ul/ul
/div
假設(shè)我們要給ul動(dòng)態(tài)添加的li綁定click事件形成如下結(jié)果
div
id="testdiv"
ul
li
name="apple"apple/li
li
name="pear"pear/li
/ul
/div
script
function
test(name){
alert("I'm
"+name);
}
//做法如下:
$("#testdiv
ul").on("click","li",
function()
{
//test($(this).attr("name"));
//do
something
here
});
//主動(dòng)觸發(fā)某個(gè)li的click事件
//
$("#testdiv
ul
li[name='apple']").trigger("click");
/script
以上這篇jquery
html動(dòng)態(tài)添加的元素綁定事件詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
$("button").live("click",function(){
$("p").slideToggle();
});
live() 方法為被選元素附加一個(gè)或多個(gè)事件處理程序,并規(guī)定當(dāng)這些事件發(fā)生時(shí)運(yùn)行的函數(shù)。
通過 live() 方法附加的事件處理程序適用于匹配選擇器的當(dāng)前及未來的元素(比如由腳本創(chuàng)建的新元素)。
語法
$(selector).live(event,data,function)
參數(shù)
event? ? 必需。規(guī)定附加到元素的一個(gè)或多個(gè)事件。
由空格分隔多個(gè)事件。必須是有效的事件。
data ? ?可選。規(guī)定傳遞到該函數(shù)的額外數(shù)據(jù)。?
function ? ?必需。規(guī)定當(dāng)事件發(fā)生時(shí)運(yùn)行的函數(shù)。 ?
datepicker是一個(gè)配置靈活的插件,我們可以自己定義其展開方式,包括日期格式、語言、限制日期選擇范圍、添加相關(guān)按鈕以及其他導(dǎo)航等。
具體步驟:
1.引入jquery.js;
2.引入ui下面的jquery.ui.core.js、jquery.ui.widget.js、jquery.ui.datepicker.js;
3.如果想設(shè)置日歷為中文形式,需要引入ui->i18n下面的jquery.ui.datepicker-zh-CN.js;
4.在HTML中需為input type="text"設(shè)置ID;
5.寫js代碼,引入datepicker定義的函數(shù)以及各參數(shù)的設(shè)置。
6.可引入jQuery ui中相應(yīng)的樣式也可根據(jù)自己的需要修改樣式。
如果需要顯示時(shí)分秒:
1.需下載jquery-ui-timepicker-addon.js,并在頁面加載;
2.頁面添加樣式????
.ui-timepicker-div?.ui-widget-header?{?
margin-bottom:?8px;?
}??
.ui-timepicker-div?dl?{
text-align:?left;?
}??
.ui-timepicker-div?dl?dt?{
height:?25px;?margin-bottom:?-25px;?
}??
.ui-timepicker-div?dl?dd?{
margin:?0?10px?10px?65px;?
}??
.ui-timepicker-div?td?{
font-size:?90%;?
}??
.ui-tpicker-grid-label?{
background:?none;?border:?none;?margin:?0;?padding:?0;?
}
3.????$("#date").datetimepicker();//顯示時(shí)分秒
$("#datetime").datepicker();?//?顯示日期??
$("#datetime").timepicker();?//?顯示時(shí)分秒?)
jQuery的live函數(shù) 是用于綁定事件委托的
什么是委托呢? 就是說 把這個(gè)事件交給jQuery 由jQuery來負(fù)責(zé)幫你綁定事件 當(dāng)被指定綁定的元素增加或刪除時(shí),jQuery都會(huì)自動(dòng)的綁定或解除此事件
使用方法:
$("選擇元素").live("事件名",事件函數(shù))
示例:
$("tr").live('click',function(){
//函數(shù)體
})
這樣 當(dāng)在以后頁面動(dòng)態(tài)加入了tr標(biāo)簽后 jQuery會(huì)自動(dòng)為你綁定這個(gè)click事件
如果你是自定義事件 只要你是按照jQuery自定義事件定義規(guī)則定義的 那么你只需要將live第一個(gè)參數(shù)改為你的事件名即可
分享文章:jquery動(dòng)態(tài)綁定,jquery動(dòng)態(tài)綁定click事件
標(biāo)題鏈接:http://www.rwnh.cn/article24/dssdjce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、建站公司、品牌網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司、、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)