JavaScript event.target仅报告子项(MooTools)

问题描述 投票:1回答:2

我似乎从根本上错了。我有这个HTML

<div id="thumbnails">
    <a href="#image-0">
        <img src="blabla-1.jpg" />
    </a>
    <a href="#image-0">
        <img src="blabla-1.jpg" />
    </a>
    <a href="#image-0">
        <img src="blabla-1.jpg" />
    </a>
</div>

和此JavaScript(正在使用MooTools库)

document.id('thumbnails').getElements('a').each(function(image_link, image_link_index)
{
    image_link.addEvent('click', function(evt)
    {
        if (evt.target.get('tag') == 'a')
        {
            evt.stop();
            console.log('a tag', evt.target);
        }

        console.log(':-(', evt.target);
    });
});

奇怪的是,我从来没有提到那个元素。我敢肯定,我在这里误解了一些基本知识。

您可以在http://jsfiddle.net/maryisdead/kHBE3/8/处使用代码来玩耍>

我似乎从根本上错了。我有这个HTML

javascript events dom-events mootools
2个回答
4
投票

您为什么要重新发明轮子?事件委托不容小视-您应该使用内置的事件委托(自1.4.1起)http://mootools.net/docs/core/Element/Element.Delegation


1
投票

如果要在代码中使用event,则需要将参数命名为event,而不是evt。解决这个问题,您应该就可以了。

© www.soinside.com 2019 - 2024. All rights reserved.