【发布时间】:2017-12-21 16:04:37
【问题描述】:
我对 JavaScript 有点陌生,在我正在开发的 Chrome 扩展程序中捕捉事件时遇到了麻烦。
这里是 HTML sn-p:
<div id="tabs-2">
<div id="divIncome">
<label for="box1">Label1</label>
<div>
<input type="text" id="box1" />
</div>
<label for="box2">Label2</label>
<div>
<input type="text" id="box2" />
</div>
<label for="box3">Label3</label>
<div>
<input type="text" id="box3" />
</div>
</div>
<button type="button" class="button waves-effect" id="btnAddBox">Add Box</button><br />
<div id="totalBox"></div>
</div>
上面代码中的按钮触发了一个添加输入值行的事件,并且还显示了一个删除图标。这很好用。
我想要的效果是让用户能够单击删除图标并删除该行,但是当用户单击图标时我无法触发事件。我尝试使用类、名称和感觉来选择所有可能的方法,但没有任何效果。
这里是 JavaScript:
$(function () {
// WORKING
$("#btnAddIncome").on("click",
function (e) {
var $newOtherIncome = $("<label for='newBox'>New Label</label><div><span><input type='text' id='newBox' style='width:95%' /></span><span style='float:right' class='delete' id='delete'><i class='material-icons delete' style='font-size:20px;'>delete</i></span>");
$("#divIncome").append($newOtherIncome);
});
// NOT FIRING
$("#delete").on("click",
function(e) {
alert(e.type);
});
// NOT FIRING
$(".delete").on("click",
function(e) {
alert(e.type);
});
}
);
非常感谢任何帮助!
【问题讨论】:
-
在创建删除按钮之前,您将单击处理程序附加到删除按钮。您应该在创建按钮后添加处理程序。
-
我没有看到
class或id属性包含 delete 字符串的元素。
标签: javascript jquery html google-chrome