日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jquery添加的html元素按钮为什么不执行类样式绑定的click事件

發布時間:2025/4/14 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jquery添加的html元素按钮为什么不执行类样式绑定的click事件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

代碼舉例:

更多按鈕:

<input?type="button"?class="addMore"?id="addMore${issue.id?}"?value="更多"?/>

點擊按鈕添加一行文本框和“提交”按鈕:(沒有問題,可以正常添加)

$(".addMore").click(function(){

? ? ? ? var?index?=?this.id.substring(7,this.id.length);

? ? ? ? //$("#tr"+index).clone().appendTo("#table"+index);

? ? ? ? $("#table"+index).append("<tr><td></td>"+

? ? ? ?"?<td><input?id='content'"+num?+?"?type=text? size=60/></td>"+

? ? ? ? "<td><input?id='date'"+num?+"?type=text?/></td>"+

? ? ? ? "<td><input?id='result'"+num+"?type=text?/></td>"+

? ? ? ? "<td><input?type=button?class='submitBtn'?id='addBtn'"+index?+"?value='提交'/></tr>");

?});

所有“提交”按鈕的點擊事件:

? ? ? $(".submitBtn").click(function(){//初始化后添加的jQuery元素的click事件

? ? ? ? ?//議題的編號,也是text的index

? ? ? ? ?var?index?=?this.id.substring(6,this.id.length);

? ? ? ? ?alert("index="+index);

? ? ? ? ?var?content?=?$("#content"+index).val();

? ? ? ? ?var?date?=?$("#date"+index).val();

? ? ? ? ?var?result?=?$("#result"+index).val();

? ? ? ? ?//判斷是否有空值

? ? ? ? ?if(content.length?!=?0?&&?date.length?!=?0?&&?result.length?!=?0?){

? ? ? ? ? ? ?$.ajax({

? ? ? ? ? ? ? ? ?url:"addIssueInfo",

? ? ? ? ? ? ? ? ?type:"post",

? ? ? ? ? ? ? ? ?data:?{issueContent:content,

? ? ? ? ? ? ? ? ? ? ? ? ?issueId:index,

? ? ? ? ? ? ? ? ? ? ? ? ?issueDate:date,

? ? ? ? ? ? ? ? ? ? ? ? ?issueResult:result},

? ? ? ? ? ? ? ? ?datatype:?"json",

? ? ? ? ? ? ? ? ?success:function(){

? ? ? ? ? ? ? ? ? ? ?alert("添加成功!");

? ? ? ? ? ? ? ? ? ? ?$tr?=?$("#addBtn"+index).parent("td").parent("tr");

? ? ? ? ? ? ? ? ? ? ?$tr.remove();

? ? ? ? ? ? ? ? ? ? ?//追加行

? ? ? ? ? ? ? ? ? ? ?$("#table"+index).append("<tr><td></td><td>"+content+"</td><td>"+date+"</td><td>"+result+"</td><td></td></tr>");?? ? ? ? ??

? ? ? ? ? ? ? ? ?},error:function(){

? ? ? ? ? ? ? ? ? ? ?alert("服務器忙,請稍候再試!");

? ? ? ? ? ? ? ? ?}

? ? ? ? ? ? ?});

? ? ? ? ?}else{

? ? ? ? ? ? ?alert("對不起,當前行的每一條信息均不能為空,請補全后提交!");

? ? ? ? ?}

? ? });?

問題是,為什么點擊“更多”觸發的事件添加的文本框和“提交”按鈕,這個按鈕不執行class="submitBtn"的點擊事件?

?

解決:在添加更多一行的時候所產生的 input 和 button 都是動態生成的,所以不能使用 click,要使用 live (jquery 1.7.2 之后的版本不建議使用 live) 或 on

把$(".submitBtn").click(function(){
改為
$(".submitBtn").live('click', function(){
或者
$(".submitBtn").on('click', function(){

記住如果元素在頁面初始化的時候不存在,而是之后通過動態生成在頁面中的,要對這些元素進行操作,例如 click, blur, keyup, change....,都要使用 on

.on('click', function
.on('blur', function
.on('keyup', function
....

?

轉載于:https://www.cnblogs.com/limeiky/p/5778627.html

總結

以上是生活随笔為你收集整理的jquery添加的html元素按钮为什么不执行类样式绑定的click事件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。