Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript div'上的触发事件;包含事件的内容_Javascript_Jquery_Events_Onclick - Fatal编程技术网

Javascript div'上的触发事件;包含事件的内容

Javascript div'上的触发事件;包含事件的内容,javascript,jquery,events,onclick,Javascript,Jquery,Events,Onclick,我有一个带有事件的div,单击它可以做一些事情,这个div包含项目列表,每个项目也有一个事件。 我试图做的是只触发单击项的事件,而不是同时触发该项及其容器的事件 行动1 行动2 行动3 $('.container')。单击(函数(){ var x=document.getElementById('result'); $(x).append('container clicked'); }); $('container ul')。在('click','li',函数(e)上{ e、 预防默认值(

我有一个带有事件的div,单击它可以做一些事情,这个div包含项目列表,每个项目也有一个事件。 我试图做的是只触发单击项的事件,而不是同时触发该项及其容器的事件


  • 行动1
  • 行动2
  • 行动3
$('.container')。单击(函数(){ var x=document.getElementById('result'); $(x).append('container clicked'); }); $('container ul')。在('click','li',函数(e)上{ e、 预防默认值(); var x=document.getElementById('result'); $(x).append('li clicked'); });
您需要
e.stopPropagation()

e.preventDefault()可以消失,因为没有要抑制的默认操作

我希望你能做到这一点:

$('.container ul').on('click','li',function(e){
    e.stopPropagation();
    $("#result").append(this);//move the clicked LI element to the container #result
});
使用

$('.container ul').on('click','li',function(e){
    e.stopPropagation();
    var x = document.getElementById('result');
    $(x).append(' li clicked');
});
$('.container ul').on('click','li',function(e){
    e.stopPropagation();
    $("#result").append(this);//move the clicked LI element to the container #result
});
$('.container ul').on('click','li',function(e){
    e.stopPropagation();

    var x = document.getElementById('result');
    $(x).append(' li clicked');
});