Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.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_Onclick - Fatal编程技术网

Javascript 单击内部链接时,避免转到块元素的链接

Javascript 单击内部链接时,避免转到块元素的链接,javascript,jquery,onclick,Javascript,Jquery,Onclick,我有一个带链接的LI元素,里面还有其他链接 应该是这样的: jQuery: $('li').click(function() { window.location = $(this).children('a.li-url').attr('href'); }); HTML: 标题 洛雷姆·伊普苏姆·多洛。等等,诸如此类。 ​ 问题是,当我单击“某物”时,它也会加载www.link.com(如果您按住alt键并单击“某物”链接,您可以看到这一点。它会在新选项卡中加载某物.com,而在当

我有一个带链接的LI元素,里面还有其他链接

应该是这样的:

jQuery:

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

  • 标题 洛雷姆·伊普苏姆·多洛。等等,诸如此类。
问题是,当我单击“某物”时,它也会加载www.link.com(如果您按住alt键并单击“某物”链接,您可以看到这一点。它会在新选项卡中加载某物.com,而在当前选项卡中加载link.com。)

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

谢谢

试试看 这个.preventDefault()

试试看 这个.preventDefault()


欢迎来到
别忘了接受答案


欢迎来到
别忘了接受答案

添加这一点JS

$('li a:not(.li-url)').click(function() {
    event.stopPropagation();
});
​
使用my selector或其他方法以
li

中的其他链接为目标添加此JS位

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

使用我的选择器或其他东西以
li

中的其他链接为目标,我想你在1小时前已经问过这个问题,为什么你有javascript函数?我想你在1小时前已经问过这个问题,为什么你有javascript函数?谢谢!那很好用。最后一件事,可以通过alt+单击在新选项卡中加载LI链接,就像普通链接一样?对不起,默认情况下也会破坏LI链接。。。所以,这并不好。这不是preventDefault()将要做的。对不起,我是说stopPropagation(),而是键入preventDefault()。不管怎样,你从别人那里得到了答案。谢谢!那很好用。最后一件事,可以通过alt+单击在新选项卡中加载LI链接,就像普通链接一样?对不起,默认情况下也会破坏LI链接。。。所以,这并不好。这不是preventDefault()将要做的。对不起,我是说stopPropagation(),而是键入preventDefault()。不管怎样,你从别人那里得到了答案。谢谢!这很有效。您知道是否可以像普通链接一样,通过alt+单击在新选项卡中加载LI链接?谢谢!这很有效。您知道是否可以像普通链接一样,通过alt+单击在新选项卡中加载LI链接?
$('li a:not(.li-url)').click(function() {
    event.stopPropagation();
});
​