【发布时间】:2017-01-14 08:05:40
【问题描述】:
我有一个列表组,其中包含按钮形式的列表组项。我想为每个列表组项添加可点击的图标,例如删除按钮。但是,在将图标添加到列表组项时,我可以将图标添加到列表组项或将其放在项目之前。当我添加图标时,它会像this 一样出现。单击删除图标会触发整个列表组项的单击事件,而不是删除图标的单击事件。
我在其中添加列表组项和删除图标(按钮)的 Javascript:
var button = $('<button/>').text(result[key].deviceId).addClass('list-group-item device').attr({name:result[key].deviceId, "aria-label": "Quick View Device", "data-toggle": "modal", "data-target": "#quick-view-device-modal", type: "button"});
var deviceName = result[key].deviceId;
var deleteButton = $('<button/>').attr('type','button').attr('name','delete').attr('id',deviceName).html('<span class="glyphicon glyphicon-minus-sign red"></span>').addClass('icon delete-device');
button.prepend(deleteButton);
$('#device-list').append(button);
此代码最终将删除图标按钮添加到 list-group-item 按钮中,作为子元素。我相信这就是为什么单击删除图标按钮会触发整个列表组项的单击事件。因此,我尝试了另一种方法:
在 list-group-item 之前添加删除图标的 Javascript:
var button = $('<button/>').text(result[key].deviceId).addClass('list-group-item device').attr({name:result[key].deviceId, "aria-label": "Quick View Device", "data-toggle": "modal", "data-target": "#quick-view-device-modal", type: "button"});
var deviceName = result[key].deviceId;
var deleteButton = $('<button/>').attr('type','button').attr('name','delete').attr('id',deviceName).html('<span class="glyphicon glyphicon-minus-sign red"></span>').addClass('icon delete-device');
$('#device-list').append(button);
$('button[name='+deviceName+']').before(deleteButton);
$('.delete-device').hide();
当我在每个列表组项之前添加图标时,它会像 this 一样出现。当我单击它时,该图标没有任何作用。 首先,如果我像这样添加删除图标,我将如何使图标与它对应的项目对齐?其次,为什么我点击图标的点击事件没有被触发?
【问题讨论】:
标签: javascript jquery twitter-bootstrap-3