Javascript 动态创建按钮,然后在jquery中单击时删除该按钮
lHi 我在html文档中有一些div,当我单击该div时,我添加了一个按钮。附例: HTML: 我确信我在做一些愚蠢的事情,但为了我的生命,我无法理解它?请忽略我对id和类的错误使用,这纯粹是为了获得经验的测试 任何帮助都将不胜感激 问候Javascript 动态创建按钮,然后在jquery中单击时删除该按钮,javascript,jquery,Javascript,Jquery,lHi 我在html文档中有一些div,当我单击该div时,我添加了一个按钮。附例: HTML: 我确信我在做一些愚蠢的事情,但为了我的生命,我无法理解它?请忽略我对id和类的错误使用,这纯粹是为了获得经验的测试 任何帮助都将不胜感激 问候 Wayne事件将从使用的dom上的单击处理程序传播到它的父级,即使用.day类的dom.day有另一个添加元素的单击处理程序。因此,在再次删除元素后,$(“.day”)。单击(函数(e){将被触发,该函数将添加回按钮元素 将e.preventDefault(
Wayne事件将从使用
的dom上的单击处理程序传播到它的父级,即使用.day
类的dom.day
有另一个添加元素的单击处理程序。因此,在再次删除元素后,$(“.day”)。单击(函数(e){
将被触发,该函数将添加回按钮
元素
将e.preventDefault();
替换为e.stopPropagation();
在中单击的处理程序进行测试
$(“.day”)。单击(函数(e){
console.log('x')
e、 预防默认值();
var check=$(“#day7”).width()-2;
var insert=$(this.prop(“id”);
insert=`${insert}`;
var PAR=$('Br类=“断裂”>).html(“手动换档插入”)。宽度(支票)。CSS(“背景颜色”,“绿色”);
附属物(插入);
//控制台日志(插入);
});
$(“.day”)。在('click','testing',函数(e){
e、 停止传播();
$(“.break”)。删除;
$(this.remove();
});
试验
试验
事件将从使用的dom上的单击处理程序传播到它的父级,即使用.day类的dom。.day
有另一个添加元素的单击处理程序。因此,在再次删除元素$(.day”)。单击(函数(e){
被触发,这将添加回按钮
元素
将e.preventDefault();
替换为e.stopPropagation();
在中单击的处理程序进行测试
$(“.day”)。单击(函数(e){
console.log('x')
e、 预防默认值();
var check=$(“#day7”).width()-2;
var insert=$(this.prop(“id”);
insert=`${insert}`;
var PAR=$('Br类=“断裂”>).html(“手动换档插入”)。宽度(支票)。CSS(“背景颜色”,“绿色”);
附属物(插入);
//控制台日志(插入);
});
$(“.day”)。在('click','testing',函数(e){
e、 停止传播();
$(“.break”)。删除;
$(this.remove();
});
试验
试验
您的按钮存在于div中。因此,当您单击该按钮时,您的div click事件也会被触发。这是由于事件冒泡。请检查
您的按钮存在于div中。因此,当您单击该按钮时,您的div click事件也会被触发。这是由于事件冒泡。请检查
你能不能加一个简短的解释,解释一下为什么会这样做?你能不能加一个简短的解释,解释一下为什么会这样做?
<div class="week">
<div class="day wk1" id="day1">
<label for="day1">Test</label>
</div>
<div class="day wk1" id="day2">
<label for="day2">Test</label>
</div>
$(".day").click(function (e) {
e.preventDefault();
var check = $("#day7").width() - 2;
var insert = $(this).prop("id");
insert = `#${insert}`;
var par = $('<br class="break"><button class="testing">').html('Shift Manual Insert').width(check).css("background-color", "green");
par.appendTo(insert);
// console.log(insert);
});
$(".day").on('click','.testing', function(e){
e.preventDefault();
$(".break").remove;
$(this).remove();
});
$(".day").on('click','.testing', function(e){
e.stopPropagation();
e.preventDefault();
$(".break").remove;
$(this).remove();
});