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

jquery 給動(dòng)態(tài)生成的標(biāo)簽綁定事件的幾種方法總結(jié)

 更新時(shí)間:2018年02月24日 09:21:37   作者:gebozhedao  
下面小編就為大家分享一篇jquery 給動(dòng)態(tài)生成的標(biāo)簽綁定事件的幾種方法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

經(jīng)常遇到給動(dòng)態(tài)生成的標(biāo)簽綁定事件不好用,自己簡(jiǎn)單測(cè)試總結(jié)了下,結(jié)論如下了:

	<body>
		<!-- 下面是用純動(dòng)態(tài)方式生成標(biāo)簽 -->
		<div id="d2">
			生成a標(biāo)簽
		</div>
		<div id="d3">
			<input type="button" value="生成a標(biāo)簽" id="btn" />
		</div>
	</body>
	<script>
		
		$(function(){
			$('#btn').bind('click', function(event) {
			 /* 在添加標(biāo)簽的同時(shí)給添加的標(biāo)簽綁定點(diǎn)擊事件 */
			 $("<li>Hello</li>").appendTo("#d2");
 			});
 			
 			///bind方法對(duì)于動(dòng)態(tài)添加的標(biāo)簽不好使,只對(duì)已經(jīng)存在的靜態(tài)標(biāo)簽好用
 			$('li').bind('click', function(event) {
			 alert("haha"); ///根本不會(huì)觸發(fā)這個(gè)方法
 			});
		})
	</script>

點(diǎn)擊按鈕,就會(huì)在d2中添加一個(gè)li標(biāo)簽,這個(gè)可以。

但是,如果這樣在初始化時(shí),用bind方法給將來(lái)要?jiǎng)討B(tài)生成的li標(biāo)簽綁定方法是無(wú)效的,點(diǎn)擊生成的li標(biāo)簽,沒(méi)有任何反應(yīng)。

因?yàn)閎ind方法只能給在執(zhí)行它時(shí)已經(jīng)存在的靜態(tài)標(biāo)簽jq對(duì)象綁定事件,對(duì)未來(lái)動(dòng)態(tài)添加的標(biāo)簽是無(wú)效的。

這時(shí),可以有幾種方法來(lái)解決這個(gè)問(wèn)題:

方法一:

<body>
		<!-- 下面是用純動(dòng)態(tài)方式生成標(biāo)簽 -->
		<div id="d2">
			動(dòng)態(tài)生成a標(biāo)簽
		</div>
		
		<div id="d3">
			<input type="button" value="生成a標(biāo)簽" id="btn"/>
			
		</div>
	</body>
	<script>
		$(function() {
			///點(diǎn)擊按鈕,給d2動(dòng)態(tài)添加標(biāo)簽
			$('#btn').bind('click', function() {
				/* 在添加標(biāo)簽的同時(shí)給添加的標(biāo)簽綁定點(diǎn)擊事件 */
				$("<li onclick='show()'>Hello</li>").appendTo("#d2");
			});
	
		})
	
		function show() {
			alert($(this).text());///這樣打印出的是空的,沒(méi)有任何東西,但是方法是會(huì)觸發(fā)的(不能這樣打印自己)
			alert("哈哈");
		}
	</script>

這種方法是在動(dòng)態(tài)拼接時(shí)就拼接好js原生的要觸發(fā)的事件,然后把事件方法定義在script標(biāo)簽中。這種方法可以觸發(fā)li的點(diǎn)擊事件。但是如果要用alert($(this).text())這種打印標(biāo)簽自己本身信息的東西的方法,是沒(méi)有任何結(jié)果顯示的。這個(gè)即使是靜態(tài)的標(biāo)簽打印自己也是不會(huì)有顯示的。

要解決這個(gè)問(wèn)題,可以用下面兩種方法。

方法二:

	<body>
		<!-- 下面是用純動(dòng)態(tài)方式生成標(biāo)簽 -->
		<div id="d2">
			生成a標(biāo)簽
		</div>
		
		<div id="d3">
			<input type="button" value="生成a標(biāo)簽" id="btn"/>
		</div>
	</body>
	<script>
		$(function(){
			$('#btn').bind('click', function(event) {
			 /* 在添加標(biāo)簽的同時(shí)給添加的標(biāo)簽綁定點(diǎn)擊事件 */
			 $("<li>Hello</li>").appendTo("#d2").bind('click', function() {
			  /* 顯示標(biāo)簽的內(nèi)容 */
			  alert($(this).text()); ///這種方式也可以正常打印出 hello
			 });
 			});
 			
		})
	</script>

這種方式是可以解決上面問(wèn)題的。雖然它用的也是bind方法,但是注意,它是先有目的標(biāo)簽對(duì)象然后才調(diào)用的bind方法,所以也是好用的。而且它居然可以正常打印自己的信息,非常厲害。

方法三:

<body>
		<!-- 下面是用純動(dòng)態(tài)方式生成標(biāo)簽 -->
		<div id="d1">
			測(cè)試靜態(tài)標(biāo)簽的綁定方法
		</div>
		<br />
		
		<div id="d2">
			動(dòng)態(tài)生成a標(biāo)簽的位置
		</div>
		<div id="d3">
			<input type="button" value="生成a標(biāo)簽" id="btn" />
		</div>
	</body>
	<script>
		$(function(){
			$('#btn').bind('click', function() {
			 /* 在添加標(biāo)簽的同時(shí)給添加的標(biāo)簽綁定點(diǎn)擊事件 */
			 $("<li>Hello</li>").appendTo("#d2");
 			});
 			
 			///bind方法對(duì)于動(dòng)態(tài)添加的標(biāo)簽不好使,只對(duì)已經(jīng)存在的靜態(tài)標(biāo)簽好用
 			///用live方法才好用
 			$('li').live('click', function() {
			 alert($(this).text());///注意,用live還可以這樣寫,結(jié)果是正常的
			 alert("haha");
 			});
 			
 			///通過(guò) live() 方法附加的事件處理程序適用于匹配選擇器的當(dāng)前及未來(lái)的元素(比如由腳本創(chuàng)建的新元素)
 			$('#d1').live('click', function() {///對(duì)于靜態(tài)和動(dòng)態(tài)創(chuàng)建的標(biāo)簽都好使
			 alert($(this).text());///注意,用live還可以這樣寫,結(jié)果是正常的.這是非常重要的
			 alert("haha");
 			});
		})
	</script>

這種就是用jq的非常好用的既可以動(dòng)態(tài)也可以靜態(tài)綁定現(xiàn)在或者未來(lái)各種標(biāo)簽的live方法。而且它最神奇的地方是也能 打印自己。我靠,太牛了。以后就用它了。

暫時(shí)還沒(méi)發(fā)現(xiàn)這個(gè)live方法有什么弱點(diǎn)??!

新手一枚,歡迎大神指正各種錯(cuò)誤!

以上這篇jquery 給動(dòng)態(tài)生成的標(biāo)簽綁定事件的幾種方法總結(jié)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • jquery.fastLiveFilter.js實(shí)現(xiàn)輸入自動(dòng)過(guò)濾的方法

    jquery.fastLiveFilter.js實(shí)現(xiàn)輸入自動(dòng)過(guò)濾的方法

    這篇文章主要介紹了jquery.fastLiveFilter.js實(shí)現(xiàn)輸入自動(dòng)過(guò)濾的方法,涉及jquery鼠標(biāo)事件及字符串遍歷的相關(guān)技巧,簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2015-08-08
  • jquery 上下滾動(dòng)廣告

    jquery 上下滾動(dòng)廣告

    jquery 上下滾動(dòng)廣告實(shí)現(xiàn)代碼,大家可以自行測(cè)試,需要加載jquery類庫(kù)
    2009-06-06
  • jquery 經(jīng)典動(dòng)畫菜單效果代碼

    jquery 經(jīng)典動(dòng)畫菜單效果代碼

    JS·經(jīng)典·炫彩菜單(動(dòng)畫效果) for jquery
    2010-01-01
  • 基于jQuery中ajax的相關(guān)方法匯總(必看篇)

    基于jQuery中ajax的相關(guān)方法匯總(必看篇)

    下面小編就為大家?guī)?lái)一篇基于基于jQuery中ajax的相關(guān)方法匯總。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • jQuery 前的按鍵判斷代碼

    jQuery 前的按鍵判斷代碼

    剛看到個(gè)問(wèn)題,如何得知同時(shí)按下了哪幾個(gè)鍵以及按鍵順序(難道是格斗游戲的組合鍵?),其實(shí)jQuery實(shí)現(xiàn)起來(lái)是很簡(jiǎn)單的。
    2010-03-03
  • EasyUI中datagrid在ie下reload失敗解決方案

    EasyUI中datagrid在ie下reload失敗解決方案

    這篇文章主要介紹了EasyUI中datagrid在ie下reload失敗解決方案,結(jié)合網(wǎng)上搜集來(lái)的幾種方案,最終解決了這個(gè)問(wèn)題,分享給大家,希望對(duì)大家能夠有所幫助。
    2015-03-03
  • jQuery 1.8 Release版本發(fā)布了

    jQuery 1.8 Release版本發(fā)布了

    由于在園子里還沒(méi)發(fā)現(xiàn)這方面的文章,所以就來(lái)簡(jiǎn)單地介紹一下,本文只是簡(jiǎn)單的歸納介紹,不是完整的翻譯,全文請(qǐng)參考原文
    2012-08-08
  • 淺談jquery中next與siblings的區(qū)別

    淺談jquery中next與siblings的區(qū)別

    下面小編就為大家?guī)?lái)一篇淺談jquery中next與siblings的區(qū)別。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-10-10
  • jquery實(shí)現(xiàn)像柵欄一樣左右滑出式二級(jí)菜單效果代碼

    jquery實(shí)現(xiàn)像柵欄一樣左右滑出式二級(jí)菜單效果代碼

    這篇文章主要介紹了jquery實(shí)現(xiàn)像柵欄一樣左右滑出式二級(jí)菜單效果代碼,涉及jquery鼠標(biāo)click點(diǎn)擊事件及頁(yè)面元素動(dòng)態(tài)操作的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-08-08
  • jQuery實(shí)現(xiàn)表格行上下移動(dòng)和置頂效果

    jQuery實(shí)現(xiàn)表格行上下移動(dòng)和置頂效果

    本文給大家分享的是一款由jQuery實(shí)現(xiàn)的表格行上下移動(dòng)以及置頂效果的代碼,非常的簡(jiǎn)單實(shí)用,這里給出了核心代碼,有需要的小伙伴可以參考下。
    2015-06-06

最新評(píng)論

紫云| 新昌县| 即墨市| 泗水县| 民县| 北票市| 杂多县| 呼玛县| 修文县| 田阳县| 吴忠市| 永德县| 马尔康县| 榆社县| 郎溪县| 宝山区| 平罗县| 灵武市| 麟游县| 都昌县| 宁化县| 额尔古纳市| 南城县| 前郭尔| 平果县| 柳林县| 沙洋县| 广州市| 彭州市| 康马县| 峨边| 当阳市| 大同市| 内黄县| 枣强县| 宝坻区| 阳春市| 修文县| 灵川县| 连云港市| 炉霍县|