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
});