jquery動態添加刪除div--事件綁定,對象克隆

我想做一個可以動態添加刪除div的功能。中間遇到一個問題,最后在manong123.com開發文摘?版主的熱心幫助下解答了(答案在最后)?????

?? 使用到的jquery方法和思想就是:事件的綁定和銷毀(unbind),另外還可以使用clone,通過克隆可以很好的解決這個問題????????? 相關描述如下

功能:點擊增加,自動添加一個iptdiv 點擊 iptdiv后的 X 自動刪除當前div

問題:默認存在的(也就是頁面加載進來的)的那個iptdiv 后的 X 點擊有效,可以刪除當前 iptdiv? 但是 jquery?動態添加進的 iptdiv 則點擊沒有效果。請各位大俠給看看,提供些意見。我要的就是動態添加和刪除div 問題代碼如下:?

<script type="text/javascript" src="jquery.js"></script>
<body>
<form action="" method="post" enctype="multipart/form-data">
<label>請選擇上傳的圖片</label>
<a href="javascript:addimg()" >增加圖片</a>
<div id="mdiv">
<div >
<input type="file" name="img[]" /><a href="#" name="rmlink">X</a>
</div>
</div>
<input type="submit" name="submit" value="上傳圖片" />
</form>
<script type="text/javascript" >
$(document).ready(function(){
$("a[name=rmlink]").click(function(){
$(this).parent().remove();
})
})
function addimg(){
$("#mdiv").append('<div ><input type="file" name="img[]" /><a href="#" name="rmlink">X</a></div>');
}
</script>
 

用jquery方法的綁定偵聽和銷毀來解決動態div的增加刪除:

正確代碼:
<script type="text/javascript" >
$(document).ready(function(){bindListener();
})function addimg(){$("#mdiv").append('<div ><input type="file" name="img[]" /><a href="#" name="rmlink">X</a></div>');// 為新元素節點添加事件偵聽器bindListener();
}// 用來綁定事件(使用unbind避免重復綁定)
function bindListener(){$("a[name=rmlink]").unbind().click(function(){$(this).parent().remove();})
}
</script>這中間就是存在一個事件綁定的過程,如果沒有的話通過js加進來的div內不事件并不會被執行,添加了偵聽事件功能后才能正確運行
 

用jquery的clone方法來解決動態div的增加刪除:

這里還有更好的寫法,我做了些許的修改,也許弄巧成拙了。?

<body>
<div style="display:none;">
<!--clone div start--><div ><input type="file" name="img[]" /><a href="#" name="rmlink">X</a></div>
</div>
<!--clone div end-->
<form action="dowater.php" method="post" enctype="multipart/form-data">
<label>請選擇上傳的圖片</label>
<a href="#" id="addimg" >增加圖片</a>
<div id="mdiv"><div ><input type="file" name="img[]" /><a href="#" name="rmlink">X</a></div>
</div>
<input type="submit" name="submit" value="上傳圖片"  />
</form>
<script type="text/javascript" >
var temp; 
$(document).ready(function(){        temp = $(".iptdiv:first");$("a[name=rmlink]").click(function(){$(this).parent().remove();})$("#addimg").click(function(){temp.clone(true).appendTo($("#mdiv"));})
})
</script>
</body>

轉載于:https://www.cnblogs.com/ranzige/p/3881032.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/375713.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375713.shtml
英文地址,請注明出處:http://en.pswp.cn/news/375713.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

編程知識大雜燴

以下資料完全是隨手記錄&#xff0c;沒有任何順序或關聯&#xff0c;需要用直接^F找就行了。 1. ps aux指令詳解 http://blog.csdn.net/hanner_cheung/article/details/6081440 2. Linux下配置Apache php http://lelong.iteye.com/blog/904125 3. shell定義變量 http://see.xid…

最長公共前綴

2、最長公共前綴 編寫一個函數來查找字符串數組中的最長公共前綴。 如果不存在公共前綴&#xff0c;返回空字符串 “”。 示例1 輸入: ["flower","flow","flight"] 輸出: "fl"示例2 輸入: ["dog","racecar",…

devexpress中gridcontrol頭部添加垂直線(右邊框)

winform開發&#xff0c;用devexpress中的gridcontrol控件&#xff0c;頭部默認是3D樣式&#xff0c;當客戶希望像內容一樣扁平化顯示且需要添加垂直線(右邊框)時惡夢開始了。。經過一陣摸索發現可以這樣解決&#xff1a; 1.設置GridControl的GridView控件的PaintStyleName屬性…

UITableView知識梳理須知—(一)

1、UITableView掌握 1> 設置UITableView的dataSource、delegate 2> UITableView多組數據和單組數據的展示 3> UITableViewCell的常見屬性 4> UITableView的性能優化&#xff08;cell的循環利用&#xff09; 5> 自定義Cell 2、什么是UITableView 在i…

Yarn中的幾種狀態機

1 概述 為了增大并發性&#xff0c;Yarn采用事件驅動的并發模型&#xff0c;將各種處理邏輯抽象成事件和調度器&#xff0c;將事件的處理過程用狀態機表示。什么是狀態機&#xff1f; 如果一個對象&#xff0c;其構成為若干個狀態&#xff0c;以及觸發這些狀態發生相互轉移的事…

反轉字符串里的單詞

4、反轉字符串里的單詞 給定一個字符串&#xff0c;逐個反轉字符串中的單詞 示例1&#xff1a; 輸入: "the sky is blue", 輸出: "blue is sky the".說明&#xff1a; 無空格字符構成一個單詞。 輸入字符串可以在前面或者后面包含多余的空格&#xff0…

正整數

題目鏈接&#xff1a;http://acm.hust.edu.cn/vjudge/contest/view.action?cid84077#problem/A 題目&#xff1a; Description A magic island Geraldion, where Gerald lives, has its own currency system. It uses banknotes of several values. But the problem is, the s…

360 webscan中防注入跨站攻擊的核心

//get攔截規則 $getfilter "\\<.javascript:window\\[.{1}\\\\x|<.*(&#\\d?;?)?>|<.*(data|src)data:text\\/html.*>|\\b(alert\\(|confirm\\(|expression\\(|prompt\\(|benchmark\s*?\\(\d?|sleep\s*?\\([\d\.]?\\)|load_file\s*?\\()|<[…

POJ 2115 C Looooops(擴展歐幾里得)

輾轉相除法&#xff08;歐幾里得算法&#xff09; 時間復雜度&#xff1a;在O(logmax(a, b))以內 int gcd(int a, int b) {if (b 0) return a;return gcd(b, a % b); }擴展歐幾里得算法 時間復雜度和歐幾里得算法相同 int extgcd(int a, int b, int& x, int& y) {int …

分支管理(轉載)

轉自&#xff1a;http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743862006503a1c5bf5a783434581661a3cc2084efa000 分支就是科幻電影里面的平行宇宙&#xff0c;當你正在電腦前努力學習Git的時候&#xff0c;另一個你正在另一個平行…

匹配括號

輸入&#xff1a; 僅包含{,},(,),[,]的字符串輸出&#xff1a; 如果括號匹配輸出&#xff1a;YES 否則輸出&#xff1a;NOSolution&#xff1a; #include<iostream> #include<string> #include<stack> using namespace std;bool check(const string&)…

總線接口與計算機通信

微機中總線一般有內部總線、系統總線和外部總線。 內部總線是微機內部各外圍芯片與處理器之間的總線&#xff0c;用于芯片一級的互連&#xff1b; 系統總線是微機中各插件板與系統板之間的總線&#xff0c;用于插件板一級的互連&#xff1b; 外部總線則是微機和外部設備之間的總…

uva 12442 . Forwarding Emails

“... so forward this to ten other people, to prove that you believe the emperor has new clothes.”Aren’t those sorts of emails annoying?Martians get those sorts of emails too, but they have an innovative way of dealing with them.Instead of just forwardi…

大數相加

輸入&#xff1a; 兩個用字符串表示的大整數 如a1111111111111,b222222222222222 輸出&#xff1a; 兩個數的和 Solution&#xff1a; #include<iostream> #include<algorithm> #include<string>using namespace std;int add(const char&,const char&…

Linux的進程與服務(一)

啟動的配置文件/etc/inittab&#xff0c;修改完配置文件以后 init q立即生效 # Default runlevel. The runlevels used by RHS are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not h…

Linux 修改swap虛擬內存大小

swap是內存的交換區&#xff1b;換句話說&#xff0c;如果內存不夠用了&#xff0c;那么系統會在硬盤上存儲一些內存中不常用的數據&#xff0c;之后將這部分數據在存儲中析構掉&#xff1b;這樣內存就又有剩余空間可以運行東東啦&#xff0c;這個過程也就是所謂的交換&#xf…

統計文章中的單詞

輸入&#xff1a; 字符串&#xff0c;其中可能包含空格&#xff0c;TAB&#xff0c;回車等&#xff0c;規定&#xff0c;僅字母數字和單引號算作單詞部分 輸出&#xff1a; 單詞的個數 Solution&#xff1a; #include<iostream> #include<string>using namespac…

邁向世界 拓展未來

一切都會過去&#xff0c;只有真理永存&#xff0c;只有愿意越過事實前進一步的人&#xff0c;才能理解事實&#xff0c;這就是科學。時代在發展&#xff0c;科技更是日新月異徹底改變著我們的生活方式。現在的我們就是跟著科技發展的腳步&#xff0c;奔著夢想&#xff0c;一直…

JS - 跳轉頁面

<!-- 第一種&#xff1a; --><script type"text/javascript">window.location.href "login.jsp?backurl" window.location.href;</script><!-- 第二種&#xff1a; --><script type"text/javascript"&g…

分享一個用安卓手機就能引導pc安裝linux系統辦法

1、首先安卓手機下載軟件DriveDroid.apk http://pan.baidu.com/s/1qW4pbT6 2、下載linux鏡像文件放手機存儲卡存儲&#xff0c;放到Download/images/以下 3、打開軟件會自己主動讀取這個目錄以下鏡像&#xff0c;也能夠在軟件里面下載須要的鏡像文件 4、軟件設置usb連接模式 5、…