亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請教jQuery綁定事件的問題

請教jQuery綁定事件的問題

PHP
繁星coding 2019-03-14 04:39:25
最終想實現的功能是,在一個表單內,通過動態增加文本框和上傳圖片功能,不限制數量的設置圖片和圖片標題在最外層用一個form表單統一提交所有的圖片鏈接、圖片標題。 網上找的php ajax上傳圖片,我在使用動態增加文本框和上傳圖片時,將“獲取”按鈕綁定事件。就可以在新生成的UL中,獲取當前UL下title[]的值。想用類似方法在新生成的UL中點擊按鈕實現上傳。發現jQuery中直接是new了一個對象出來。不知道該如何綁定。 現在點擊默認的上傳按鈕,可以實現上傳。但動態生成出來的上傳按鈕就點擊無效。 代碼中引入的plupload.full.min.js的文檔是http://chaping.github.io/plup... <!DOCTYPE html> <html> <head> </head> <script type="text/javascript" src="http://www.sucaihuo.com/Public/js/other/jquery.js"></script> <script type="text/javascript" src="plupload.full.min.js"></script> <script type="text/javascript"> $(function() { var uploader = new plupload.Uploader({ //創建實例的構造方法 runtimes: 'html5,html4', //上傳插件初始化選用那種方式的優先級順序 browse_button: 'btn', // 上傳按鈕 url: "ajax.php", filters: { max_file_size: '500kb', //最大上傳文件大?。ǜ袷?00b, 10kb, 10mb, 1gb) mime_types: [ //允許文件上傳類型 { title: "files", extensions: "jpg,png,gif" }] }, multi_selection: false, //true:ctrl多文件上傳, false 單文件上傳 init: { FilesAdded: function(up, files) { //文件上傳前 if ($("#ul_pics").children("li").length > 30) { alert("您上傳的圖片太多了!"); uploader.destroy(); } else { var li = ''; plupload.each(files, function(file) { //遍歷文件 // li += "<li id='" + file['id'] + "'><div class='progress'><span class='bar'></span><span class='percent'>0%</span></div></li>"; }); // $("#ul_pics").append(li); uploader.start(); } }, // UploadProgress: function(up, file) { //上傳中,顯示進度條 // $("#" + file.id).find('.bar').css({ // "width": file.percent + "%" // }).find(".percent").text(file.percent + "%"); // }, FileUploaded: function(up, file, info) { //文件上傳成功的時候觸發 var data = JSON.parse(info.response); $(".pics").attr('src',data.pic); $(".res").val(data.name); // $("#" + file.id).html("<div class='img'><img src='" + data.pic + "'/></div><p>" + data.name + "</p>"); }, Error: function(up, err) { //上傳出錯的時候觸發 alert(err.message); } } }); uploader.init(); $("#add").click(function(){ var a = '\ <ul class="list">\ <li><a id="huoqu">獲取</a></li>\ <li><input class="title" name="title[]"></input></li>\ <li><input class="res" name="res[]"></input></li>\ <li><img class="pics" name="pics[]" src="https://www.baidu.com/img/baidu_jgylogo3.gif"></img></li>\ <li>\ <a class="btn" id="btn" style="color: red;background-color: yellow;cursor: pointer;">上傳圖片</a>\ </li>\ </ul>\ '; $(a).appendTo("#content"); }); $("#content").delegate("#huoqu","click",function(){ console.log($(this).parent().parent().find(".title").val()); }); }); </script> <body> <ul id="ul_pics" class="ul_pics clearfix"></ul> <a id="add">增加</a> <a id="del">刪除</a> <div id="content"> <ul class="list"> <li><a id="huoqu">獲取</a></li> <li><input class="title" name="title[]" value="title[]">title[]</input></li> <li><input class="res" name="res[]" value="res[]">res[]</input></li> <li><img class="pics" name="pics[]" src="https://www.baidu.com/img/baidu_jgylogo3.gif"></img></li> <li> <a class="btn" id="btn">上傳圖片</a> </li> </ul> </div> </body> </html>
查看完整描述

6 回答

?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

同意樓上的看法。也許現在的問題只是動態生成的元素無法綁定事件。要綁定在父級元素

查看完整回答
反對 回復 2019-03-18
?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

事件綁定在該節點未生成時已經處理綁定事件了,新生成的節點是不是有該綁定事件的,所有要把事件掛載到父節點以上的方式去處理,也可以直接掛載到body去處理。

$('body').degelate('節點','click',function(e){
//事件
})

查看完整回答
反對 回復 2019-03-18
?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

樓上回答的都差不多了,你可以搜 事件委托機制 ,你就能更好的解決你的疑問了。

查看完整回答
反對 回復 2019-03-18
  • 6 回答
  • 0 關注
  • 553 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號