{{1}}
我希望用户双击该元素以将其删除。因此,如果用户双击第二个“textarea”框,则该特定元素将被删除。我上面的代码和我到目前为止一样多。不确定我做错了什么,非常感谢你的帮助。
答案 0 :(得分:2)
将它们全部包装到容器中,在容器上设置处理程序并使用event.target。
<div id="wrapper">
<textarea rows = "4" cols = 15" class = "sect"></textarea>
<textarea rows = "4" cols = 15" class = "sect"></textarea>
<textarea rows = "4" cols = 15" class = "sect"></textarea>
<textarea rows = "4" cols = 15" class = "sect"></textarea>
</div>
var wrapper = document.querySelector('#wrapper');
wrapper.addEventListener('dblclick', function ( event ) {
wrapper.removeChild(event.target);
});
答案 1 :(得分:0)
$('.sect').on('dblclick', function() {
$(this).remove();
});
答案 2 :(得分:0)
如果您使用的是纯JavaScript,可以这样做:
var x = document.getElementsByClassName("sect");
for(var i = 0;i < x.length;i++){
x[i].addEventListener("dblclick", function (e) {
this.parentNode.removeChild(this);
});
}
答案 3 :(得分:0)
您应该在每个eventListener
元素(或任何您想要的内容)上添加.sect
并删除event.target
:
Native JS:
var elts = document.querySelectorAll(".sect");
for (var i = 0; i < elts.length; i++) {
var elt = elts[i];
elt.addEventListener('dbclick', function(evt) {
document.body.removeChild(evt.target);
}
}
jQuery(因为我在编写问题时标记了jQuery):
$(document).on('dbclick', '.sect', function() {
$(this).remove();
});