繁体   English   中英

如何在不可点击的区域上点击DIV?

[英]How to make DIV clickable on non-clickable areas?

我有一个<div> ,其中包含一些链接( <a>标签)和其他元素。 我希望<div>表现得像一个按钮,这意味着每当用户点击它的每个部分时,它都应该导航到某个链接。 有一些像这样的解决方案: 将div设为链接我也可以使用jQuery,但是,问题是我希望<div><a>标签像以前一样工作。 我找不到任何使这成为可能的解决方案。 我怎样才能做到这一点?

$('#mydiv a').click(function(e) {
  e.stopPropagation();
});

事件泡沫起来,这就是他们所做的。 这称为传播。 在jQuery事件对象上调用stopPropagation应该可以防止该事件冒泡到包含它的div。

jQuery文档在这里

并且由于事件处理程序不return false ,因此仍将触发<a>标记的浏览器默认单击处理,这意味着正常情况下将遵循href

在这里查看一个工作示例: http//jsfiddle.net/Squeegy/2phtM/

我认为你需要一个事件处理程序来确定哪个元素触发了点击 - 就像这样

<html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <script>
            $(function() {
                $("#links").click(handler);
            })
            function handler(event) {

                var $target = $(event.target);
                if($target.is("#links")) {

                    window.location = "divlocation.htm"
                }
            }
        </script>
    </head>
    <body>
        <div id="links" style="background: yellow">
            <a href="test1.htm">link 1</a><br>
            <a href="test2.htm">link 2</a>
        </div>
    </body>
</html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM