Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.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 是否有任何方法可以将单击事件添加到子节点?_Javascript_Jquery - Fatal编程技术网

Javascript 是否有任何方法可以将单击事件添加到子节点?

Javascript 是否有任何方法可以将单击事件添加到子节点?,javascript,jquery,Javascript,Jquery,下面是我的代码: <div class="sidebar-list"> <h4>Type</h4> <ul> <li><a href="#" id='shop'> Shop</a></li> <li><a href="#" id='food'> Food</a></li> <li><a href=

下面是我的代码:

<div class="sidebar-list">
  <h4>Type</h4>
  <ul>
    <li><a href="#" id='shop'>   Shop</a></li>
    <li><a href="#" id='food'>   Food</a></li>
    <li><a href="#" id='beauty'> Beauty</a></li>
    <li><a href="#" id='comfort'>Comfort</a></li>
    <li><a href="#" id='health'> Health</a></li>
    <li><a href="#" id='pet'>    Pet</a></li>
    <li><a href="#" id='fun'>    Fun</a></li>
    <li><a href="#" id='life'>   Life</a></li>
  </ul>
</div>

类型
我知道我可以在每个li项上写0点,但单击侧边栏列表中添加事件侦听侦听列表项的任何智能方法都可以获得它的值?

尝试:

$('ul').delegate('a', 'click', function() {
  // ... your code ...
});
$('.sidebar list')。在('click','li',function()上{
警报($(this.text());
});

类型
试试:

$('.sidebar list')。在('click','li',function()上{
警报($(this.text());
});

类型

你在找这样的东西吗?请看下面的小提琴。 一个简单的jQuery单击事件

$('.sidebar list li')。单击(函数(){
警报($(this.text());
});

类型

你在找这样的东西吗?请看下面的小提琴。 一个简单的jQuery单击事件

$('.sidebar list li')。单击(函数(){
警报($(this.text());
});

类型
如果您的页面中还没有使用jQuery,则无需使用它(请注意,polyfill来自jQuery的作者…)


如果您的页面中尚未使用jQuery,则无需使用它(请注意,polyfill来自jQuery的作者…

谢谢您的回复。顺便说一句,我能在这个函数中得到标记的id值吗?@aBloomer只需使用
$(this.attr('id')谢谢回复。顺便说一句,我能在这个函数中得到标记的id值吗?@aBloomer只需使用
$(this.attr('id')
var div = document.querySelector(".sidebar-list"),
    addEvent = ( obj, type, fn ) => {
      if ( obj.attachEvent ) {
        obj['e'+type+fn] = fn;
        obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
        obj.attachEvent( 'on'+type, obj[type+fn] );
      } else
        obj.addEventListener( type, fn, false );
    };
addEvent(div, "click", (ev) => {
    var event = ev || window.event;
        target = event.target || event.srcElement;
    // do something with your target
});