Javascript 单击事件不';尝试向<;动态添加元素时无法工作;ul>;标签
我正在尝试创建一个列表,在您单击该列表后,会向其中添加新的li标记,但在您单击li标记后不会发生任何事情。 当我尝试这样做时:Javascript 单击事件不';尝试向<;动态添加元素时无法工作;ul>;标签,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试创建一个列表,在您单击该列表后,会向其中添加新的li标记,但在您单击li标记后不会发生任何事情。 当我尝试这样做时: $('ul').click(function(){ $("ul").append('<li>aaaaaaaaaaa</li>'); }).children().click(function(e) { return false; }); $('ul')。单击(函数(){ $(“ul”)。追加(“aaaaaa
$('ul').click(function(){
$("ul").append('<li>aaaaaaaaaaa</li>');
}).children().click(function(e) {
return false;
});
$('ul')。单击(函数(){
$(“ul”)。追加(“aaaaaaaaaaaaaaaaa ”);
}).children()。单击(函数(e){
返回false;
});
一切似乎都很好。当我点击列表主体时,新元素被添加,当我点击之前声明的li标签时,什么都不会发生。但在单击新添加到列表中的元素后,另一个新元素正在添加。
为什么会这样?我能做些什么 您的代码仅应用
。单击(函数(e){return false;})应用另一个单击处理程序时已存在的子级的代码>处理程序
jQuery支持动态事件绑定方法,该方法将自动将处理程序绑定到新节点:
$('ul')
.on('click', function(e) {
$(this).append('<li>aaaaaaaaaaa</li>');
})
.on('click', 'li', function(e) {
return false;
});
ul{
边框:1px纯红;
}
李{
边框:1px纯黑;
}
- A
- B
- C
您的代码仅应用。单击(函数(e){return false;})应用另一个单击处理程序时已存在的子级的代码>处理程序
jQuery支持动态事件绑定方法,该方法将自动将处理程序绑定到新节点:
$('ul')
.on('click', function(e) {
$(this).append('<li>aaaaaaaaaaa</li>');
})
.on('click', 'li', function(e) {
return false;
});
ul{
边框:1px纯红;
}
李{
边框:1px纯黑;
}
- A
- B
- C
虽然Brendan的答案是正确的,但我建议去掉第二个函数,改用以下方法:
$('ul')
.on('click',函数(e){
如果(例如,目标===此){
$(this.append(“aaaaaaaaaaaaaaaaaaaaa ”);
}
})
ul{
边框:1px纯红;
}
李{
边框:1px纯黑;
}
- A
- B
- C
虽然Brendan的答案是正确的,但我建议去掉第二个函数,改用以下方法:
$('ul')
.on('click',函数(e){
如果(例如,目标===此){
$(this.append(“aaaaaaaaaaaaaaaaaaaaa ”);
}
})
ul{
边框:1px纯红;
}
李{
边框:1px纯黑;
}
- A
- B
- C
$('ul')
.on('click',函数(e){
$(this.append(“aaaaaaaaaaaaaaaaaaaaa ”);
})
.on('click','li',函数(e){
警惕();
});代码>
ul{
边框:1px纯红;
}
李{
边框:1px纯黑;
}
- A
- B
- C
$('ul')
.on('click',函数(e){
$(this.append(“aaaaaaaaaaaaaaaaaaaaa ”);
})
.on('click','li',函数(e){
警惕();
});代码>
ul{
边框:1px纯红;
}
李{
边框:1px纯黑;
}
- A
- B
- C
您正在取消对li的单击。。。您是否希望在单击li时发生什么?为什么还要将事件处理程序绑定到li?因为在单击li后,如果没有它,则会创建新的li。我不想那样。我只想在点击ul的身体后创建li的你取消了对li的点击。。。您是否希望在单击li时发生什么?为什么还要将事件处理程序绑定到li?因为在单击li后,如果没有它,则会创建新的li。我不想那样。我只想在点击ul的主体后创建li,当我使用代码时,如果我点击列表后没有任何事情发生,没有添加新的元素,我已经做了一个演示,证明它确实有效。单击项目符号区域,它将创建一个新的li
。好的,它确实有效,我刚刚使用了jQuery:P的1.6版本。谢谢!当我使用你提供的代码时,在我点击列表后什么也没有发生,没有新的元素被添加,我已经做了一个演示,证明它确实有效。单击项目符号区域,它将创建一个新的li
。好的,它确实有效,我刚刚使用了jQuery:P的1.6版本。谢谢!