点击里面的链接时避免去块元素的链接

时间:2010-10-05 00:59:28

标签: javascript jquery onclick

我有一个带链接的LI元素,以及其他链接。

这将是这样的:

jQuery的:

$('li').click(function() {
   window.location = $(this).children('a.li-url').attr('href');
});

HTML:

<ul>
    <li>
        <a href="http://www.link.com" class="li-url"></a>
        <h1>Title</h1>
        Lorem ipsum dolor <a href="http://www.something.com">Something</a>. Etc, blah blah.
    </li>
</ul>​

问题在于,当我点击“某事”时,它还会加载www.link.com(如果你点击某个链接,你可以看到这个。它会在加载链接时在新标签中加载something.com .com在您当前的标签中。)

当我点击“某事”时,我只需要加载something.com ..

谢谢!

3 个答案:

答案 0 :(得分:1)

$('li').click(function(e) {
    if (e.target.tagName.toLowerCase() == 'li') {
        window.location = $(this).children('a.li-url').attr('href');
    }
});​

crazy demo


欢迎来到stackoverflow.com
不要忘记接受答案

答案 1 :(得分:1)

添加这一点JS。

$('li a:not(.li-url)').click(function() {
    event.stopPropagation();
});
​

使用我的选择器或其他内容定位li中的其他链接。

答案 2 :(得分:-1)

试 this.preventDefault();