溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

jQuery動(dòng)態(tài)添加html元素后,響應(yīng)事件的問題記錄

發(fā)布時(shí)間:2020-07-08 16:44:16 來源:網(wǎng)絡(luò) 閱讀:549 作者:lyy201109210 欄目:web開發(fā)
var li =
    "<li>" +
    "<a>" +
       // 縮略圖 點(diǎn)擊部分 index='" + i + "'
       "<span class='CameraImg' type='play' index='" + i + "'>" +
         "<img src='/HiHomeBabyMS/Public/img/img.jpg' />" +
         "<span class='CameraPlay'></span>" +
       "</span>" +
       // video信息部分, 修改名稱 刪除
       "<span class='CameraInfo VideoName' type='edit' video_id='" + video['video_id'] + "'>" + video['name'] + "</span>" +
       "<span class='CameraInfo' type='delete'>" +
         "<i class='IconView'></i>" + record +
         "<i class='DeleteVideo' id='delete_" + i + "' index='" + i + "'></i>" +
       "</span>" +
    "</a>" +
    "</li>";

$("#CameraUl").append(li);


如上,動(dòng)態(tài)添加html元素后,響應(yīng)事件的添加方法:

$("#InnerMainId #CameraUl").unbind('click').on('click', 'li>a>span', function() {
    var type = $(this).attr('type');
    if (type == "play") {
        var index = $(this).attr('index');
        // TODO
    } else if (type == "edit") {// 修改
        // TODO
    } else {// 刪除
        // TODO
    }
    event.stopImmediatePropagation();
});

 這樣可以為li中的各個(gè)元素添加不同的屬性。而如下的分各個(gè)元素的添加點(diǎn)擊事件的做法,會(huì)發(fā)生覆蓋,即只能響應(yīng)最后一個(gè)事件:

$(document).unbind('click').on('click', '.CameraImg', function(event) {
    // TODO 
});
$(document).unbind('click').on('click', '.VideoName', function(event) {
    // TODO
});
$(document).unbind('click').on('click', '.DeleteVideo', function(event) {
    // TODO 
});

即只有類名為DeleteVideo的元素的點(diǎn)擊事件 可以響應(yīng)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI