Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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 jQuery如何在整个div可单击时使div中的链接工作_Javascript_Jquery_Css_Html - Fatal编程技术网

Javascript jQuery如何在整个div可单击时使div中的链接工作

Javascript jQuery如何在整个div可单击时使div中的链接工作,javascript,jquery,css,html,Javascript,Jquery,Css,Html,我使用这段代码使整个div可以点击 $(document).on('click', '.clickable', function (e) { window.location = $(this).find('a.main').attr("href"); return false; }); 该div中大约有4个链接,我希望它们能够正常工作,因此如果单击该div,则会调用/单击class.main中的链接。我希望在该div中单击其他链接时也能这样做。。它们应该起到链接的作用。使用e.

我使用这段代码使整个div可以点击

$(document).on('click', '.clickable', function (e) {
    window.location = $(this).find('a.main').attr("href");
    return false;
});

该div中大约有4个链接,我希望它们能够正常工作,因此如果单击该div,则会调用/单击class
.main
中的链接。我希望在该div中单击其他链接时也能这样做。。它们应该起到链接的作用。

使用
e.stopPropagation()
当您单击某些
DIV

$(document).on('click', 'div.clickable', function (e) {
    window.location.href = $(e.target).find('a.main').attr("href");
    e.stopPropagation();
    return false;
});

更新:选中

使用
e.stopPropagation()
当您单击某些
DIV

$(document).on('click', 'div.clickable', function (e) {
    window.location.href = $(e.target).find('a.main').attr("href");
    e.stopPropagation();
    return false;
});

更新:选中

如果链接本身被单击,则不要返回false:

$(document).on('click', '.clickable', function (e) {
    // only execute if no Link was clicked
    if (!$(e.currentTarget).is('a')) {
        window.location = $(this).find('a.main').attr("href");
        return false;
    }
});

这将仅在单击DIV时执行脚本,而不是在单击链接时执行脚本。因此,div中的链接将正常运行。

如果链接本身被单击,则不会返回false:

$(document).on('click', '.clickable', function (e) {
    // only execute if no Link was clicked
    if (!$(e.currentTarget).is('a')) {
        window.location = $(this).find('a.main').attr("href");
        return false;
    }
});
$(document).on('click', '.clickable', function (e) {
    window.location = $(this).find('a.main').attr("href");
    return false;
});

$(document).on('click', '.clickable a', function (e) {
    e.stopPropagation();
});
这将仅在单击DIV时执行脚本,而不是在单击链接时执行脚本。因此,div中的链接将正常运行

$(document).on('click', '.clickable', function (e) {
    window.location = $(this).find('a.main').attr("href");
    return false;
});

$(document).on('click', '.clickable a', function (e) {
    e.stopPropagation();
});
不要从锚传播事件

不要从锚传播事件。


为你的问题编造一把小提琴use
e.stopPropagation()为你的问题编造一把小提琴使用
e.stopPropagation()工作得很好。谢谢。不过有个错误。。。TypeError:e.StopproPagination不是函数错误,请使用
e.StopproPaging()不分页!我想你的错误是
$(这个)
,我已经用
$(e.target)
替换了它,当我点击div时,它运行良好,它会转到正确的链接,但如果我点击任何链接,它会转到{current\u page\u url}/unfinedworked。谢谢。不过有个错误。。。TypeError:e.StopproPagination不是函数错误,请使用
e.StopproPaging()不分页!我想你的错误是
$(这个)
,我已经用
$(e.target)
替换了它,现在我点击div它就可以正常工作了,但如果我点击任何链接,它就会转到{current\u page\u url}/undefined