首頁 web前端 js教程 在jquery中給動態產生的標籤綁定事件(詳細教學)

在jquery中給動態產生的標籤綁定事件(詳細教學)

Jun 04, 2018 pm 05:29 PM
jquery 標籤 綁定

下面我就為大家分享一篇jquery 給動態產生的標籤綁定事件的幾種方法總結,具有很好的參考價值,希望對大家有所幫助。

常常遇到給動態產生的標籤綁定事件不好用,自己簡單測試總結了下,結論如下了:

##

	<body>
		<!-- 下面是用纯动态方式生成标签 -->
		<p id="d2">
			生成a标签
		</p>
		<p id="d3">
			<input type="button" value="生成a标签" id="btn" />
		</p>
	</body>
	<script>
		
		$(function(){
			$(&#39;#btn&#39;).bind(&#39;click&#39;, function(event) {
			 /* 在添加标签的同时给添加的标签绑定点击事件 */
			 $("<li>Hello</li>").appendTo("#d2");
 			});
 			
 			///bind方法对于动态添加的标签不好使,只对已经存在的静态标签好用
 			$(&#39;li&#39;).bind(&#39;click&#39;, function(event) {
			 alert("haha"); ///根本不会触发这个方法
 			});
		})
	</script>
登入後複製

#點選按鈕,就會在d2中新增一個li標籤,這個可以。

但是,如果這樣在初始化時,用bind方法給將來要動態產生的li標籤綁定方法是無效的,點選產生的li標籤,沒有任何反應。

因為bind方法只能給在執行它時已經存在的靜態標籤jq物件綁定事件,對未來動態新增的標籤是無效的。

這時,可以有幾種方法來解決這個問題:

方法一:

<body>
		<!-- 下面是用纯动态方式生成标签 -->
		<p id="d2">
			动态生成a标签
		</p>
		
		<p id="d3">
			<input type="button" value="生成a标签" id="btn"/>
			
		</p>
	</body>
	<script>
		$(function() {
			///点击按钮,给d2动态添加标签
			$(&#39;#btn&#39;).bind(&#39;click&#39;, function() {
				/* 在添加标签的同时给添加的标签绑定点击事件 */
				$("<li onclick=&#39;show()&#39;>Hello</li>").appendTo("#d2");
			});
	
		})
	
		function show() {
			alert($(this).text());///这样打印出的是空的,没有任何东西,但是方法是会触发的(不能这样打印自己)
			alert("哈哈");
		}
	</script>
登入後複製

這個方法是在動態拼接時就拼接好js原生的要觸發的事件,然後把事件方法定義在script標籤裡。這種方法可以觸發li的點擊事件。但是如果要用alert($(this).text())這種印出標籤自己本身資訊的東西的方法,是沒有任何結果顯示的。這個即使是靜態的標籤列印自己也是不會有顯示的。

要解決這個問題,可以用下面兩種方法。

方法的二:

	<body>
		<!-- 下面是用纯动态方式生成标签 -->
		<p id="d2">
			生成a标签
		</p>
		
		<p id="d3">
			<input type="button" value="生成a标签" id="btn"/>
		</p>
	</body>
	<script>
		$(function(){
			$(&#39;#btn&#39;).bind(&#39;click&#39;, function(event) {
			 /* 在添加标签的同时给添加的标签绑定点击事件 */
			 $("<li>Hello</li>").appendTo("#d2").bind(&#39;click&#39;, function() {
			  /* 显示标签的内容 */
			  alert($(this).text()); ///这种方式也可以正常打印出 hello
			 });
 			});
 			
		})
	</script>
登入後複製

這種方式是可以解決上面的問題。雖然它用的也是bind方法,但要注意,它是先有目的標籤物件然後才呼叫的bind方法,所以也是好用的。而且它居然可以正常列印自己的訊息,非常厲害。

方法三:

<body>
		<!-- 下面是用纯动态方式生成标签 -->
		<p id="d1">
			测试静态标签的绑定方法
		</p>
		<br />
		
		<p id="d2">
			动态生成a标签的位置
		</p>
		<p id="d3">
			<input type="button" value="生成a标签" id="btn" />
		</p>
	</body>
	<script>
		$(function(){
			$(&#39;#btn&#39;).bind(&#39;click&#39;, function() {
			 /* 在添加标签的同时给添加的标签绑定点击事件 */
			 $("<li>Hello</li>").appendTo("#d2");
 			});
 			
 			///bind方法对于动态添加的标签不好使,只对已经存在的静态标签好用
 			///用live方法才好用
 			$(&#39;li&#39;).live(&#39;click&#39;, function() {
			 alert($(this).text());///注意,用live还可以这样写,结果是正常的
			 alert("haha");
 			});
 			
 			///通过 live() 方法附加的事件处理程序适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素)
 			$(&#39;#d1&#39;).live(&#39;click&#39;, function() {///对于静态和动态创建的标签都好使
			 alert($(this).text());///注意,用live还可以这样写,结果是正常的.这是非常重要的
			 alert("haha");
 			});
		})
	</script>
登入後複製

上面是我整理給大家的,希望今後會對大家有幫助。

相關文章:

在vue中如何使用全域提示框元件?

在vue2中如何使用前端搜尋?

在vue中如何做到子元件傳送值給父元件

###### #####

以上是在jquery中給動態產生的標籤綁定事件(詳細教學)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1318
25
PHP教程
1269
29
C# 教程
1248
24
BTCC教學:如何在BTCC交易所綁定使用MetaMask錢包? BTCC教學:如何在BTCC交易所綁定使用MetaMask錢包? Apr 26, 2024 am 09:40 AM

MetaMask(中文也叫小狐狸錢包)是一款免費的、廣受好評的加密錢包軟體。目前,BTCC已支援綁定MetaMask錢包,綁定後可使用MetaMask錢包進行快速登錄,儲值、買幣等,且首次綁定還可獲得20USDT體驗金。在BTCCMetaMask錢包教學中,我們將詳細介紹如何註冊和使用MetaMask,以及如何在BTCC綁定並使用小狐狸錢包。 MetaMask錢包是什麼? MetaMask小狐狸錢包擁有超過3,000萬用戶,是當今最受歡迎的加密貨幣錢包之一。它可免費使用,可作為擴充功能安裝在網絡

小紅書怎麼綁定子帳號?它怎麼檢測帳號是否正常? 小紅書怎麼綁定子帳號?它怎麼檢測帳號是否正常? Mar 21, 2024 pm 10:11 PM

在現今這個資訊爆炸的時代,個人品牌和企業形象的建立變得越來越重要。小紅書作為國內領先的時尚生活分享平台,吸引了大量用戶關注和參與。對於那些希望擴大影響力、提高內容傳播效率的使用者來說,綁定子帳號成為了一種有效的手段。那麼,小紅書怎麼綁定子帳號呢?又如何檢測帳號是否正常呢?本文將為您詳細解答這些問題。一、小紅書怎麼綁定子帳號? 1.登入主帳號:首先,您需要登入您的小紅書主帳號。 2.開啟設定選單:點選右上角的“我”,然後選擇“設定”。 3.進入帳號管理:在設定選單中,找到「帳號管理」或「帳號助理」選項,點

今日頭條綁定抖音的步驟方法 今日頭條綁定抖音的步驟方法 Mar 22, 2024 pm 05:56 PM

1、打開今日頭條。 2、點選右下角我的。 3.點選【系統設定】。 4.點選【帳號和隱私設定】。 5.點選【抖音】右邊的按鈕即可綁定抖音。

jQuery中如何使用PUT請求方式? jQuery中如何使用PUT請求方式? Feb 28, 2024 pm 03:12 PM

jQuery中如何使用PUT請求方式?在jQuery中,發送PUT請求的方法與發送其他類型的請求類似,但需要注意一些細節和參數設定。 PUT請求通常用於更新資源,例如更新資料庫中的資料或更新伺服器上的檔案。以下是在jQuery中使用PUT請求方式的具體程式碼範例。首先,確保引入了jQuery庫文件,然後可以透過以下方式發送PUT請求:$.ajax({u

菜鳥app怎麼綁定拼多多 菜鳥裹裹怎麼添加拼多多平台 菜鳥app怎麼綁定拼多多 菜鳥裹裹怎麼添加拼多多平台 Mar 19, 2024 pm 02:30 PM

菜鳥app就是能夠提供你們各種物流資訊狀況的平台,這裡的功能非常的強大好用,大家有任何與物流相關的問題,都能在這得到解決的,反正都能為你們帶來一站式的服務,全都能及時解決的,查快遞,取快遞,寄快遞等,都是毫無任何問題,與各個的平台都進行了合作,全部的信息,都能查詢得到的,但是有些時候會出現拼多多當中購買的商品,都是無法呈現出物流的信息,其實是需要大家進行手動綁定拼多多,才能實現的,具體的方法已經整理出來了在下方,大家都能來看看的。菜鳥綁定拼多多帳戶的方法:  1、打開菜鳥APP,在主頁面

菜鳥APP怎麼綁定拼多多 菜鳥APP綁定拼多多方法 菜鳥APP怎麼綁定拼多多 菜鳥APP綁定拼多多方法 Mar 19, 2024 pm 05:16 PM

你們知道在使用菜鳥裹裹的時候是怎麼來綁定拼多多的嗎?菜鳥裹裹App官方正版在這款平台上面對於一些拼多多的物流信息是沒有自動同步上去的,我們需要做的就只能複製單號過來或是查詢你們的手機看看有無快遞的資訊。當然這些都是需要手動完成的,如果你們也想了解更多的話,就和小編一起來看看吧。  菜鳥APP怎麼綁定拼多多  1、打開菜鳥APP,在主頁點選左上角的「導包裹」。  2、在介面中,有許多購物網站,帳號都可以綁定。  3、點選導入其他電商平台。  4、使用者授權:點選拼多多到介面

jQuery小技巧:快速修改頁面所有a標籤的文本 jQuery小技巧:快速修改頁面所有a標籤的文本 Feb 28, 2024 pm 09:06 PM

標題:jQuery小技巧:快速修改頁面所有a標籤的文字在網頁開發中,我們經常需要對頁面中的元素進行修改和操作。使用jQuery時,有時候需要一次修改頁面中所有a標籤的文字內容,這樣可以節省時間和精力。以下將介紹如何使用jQuery快速修改頁面所有a標籤的文本,同時給出具體的程式碼範例。首先,我們需要引入jQuery庫文件,確保在頁面中引入了以下程式碼:&lt

小米汽車app怎麼綁定充電樁設備 小米汽車app怎麼綁定充電樁設備 Apr 01, 2024 pm 06:52 PM

最新小米最新推出的小米su7型號汽車霸佔了各種熱搜榜,許多正好有購車需求的用戶們都紛紛選擇了小米su7型號的汽車進行購買,那麼在提車以後如何利用自己的小米汽車app綁定家用充電樁充電呢,那麼這篇教學攻略就會為大家帶來詳細的內容介紹,希望能幫助大家。首先我們先打開小米手機app,點擊右下角我的按鈕然後在我的介面,可以看到家充樁的選項進入到綁定充電樁的頁面以後,點擊下方的去掃碼按鈕,掃描充電樁上的二維碼即可完成充電樁與app的綁定

See all articles