var li =
"<li>" +
"<a>" +
// 缩略图 点击部分 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);
如上,动态添加html元素后,响应事件的添加方法:
$("#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中的各个元素添加不同的属性。而如下的分各个元素的添加点击事件的做法,会发生覆盖,即只能响应最后一个事件:
$(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的元素的点击事件 可以响应。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。