Jquery - 内部有链接的 Div 和 jq.click() 函数

发布于 2024-12-09 19:32:18 字数 490 浏览 0 评论 0原文

单击 href 链接(在可单击的 div 内)时是否可以禁用 jquery 单击?

HTML

<div id="test">
    <a href="http://google.de">google</a>
</div>

JS

$(document).ready(function()
{
    $('#test').click(function() {
        alert('the link was not clicked'); 
    });
});

示例
http://jsfiddle.net/QHQcQ/2/

Is it possible to disable the jquery click when a href link (inside the clickable div) was clicked?

HTML

<div id="test">
    <a href="http://google.de">google</a>
</div>

JS

$(document).ready(function()
{
    $('#test').click(function() {
        alert('the link was not clicked'); 
    });
});

example
http://jsfiddle.net/QHQcQ/2/

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

猥︴琐丶欲为 2024-12-16 19:32:18

我不确定你想要什么,但添加 -

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

会阻止链接点击触发,并阻止链接点击冒泡到“div”点击事件。

演示 - http://jsfiddle.net/ipr101/Lf3hL/

I'm not sure what you want, but adding -

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

would prevent the link click from firing and also stop the link click bubbling up to the 'div' click event.

Demo - http://jsfiddle.net/ipr101/Lf3hL/

北方的巷 2024-12-16 19:32:18

是的,您可以使用

$('#test').click(function(event) {
      event.preventDefault();
});

event.preventDefault() 使点击不起作用

Yes you may use

$('#test').click(function(event) {
      event.preventDefault();
});

event.preventDefault() to make the click not work

妖妓 2024-12-16 19:32:18

您必须停止 a 上的点击事件冒泡到 div#test。你可以这样做:

$(document).ready(function() {
    $('#test').click(function() {
        alert('the link was not clicked'); 
    });
    $('#test a').click(function(e) {
        return false;

        //equivalent to:
        //    e.stopPropagation();
        //    e.preventDefault();
    });
});

演示

You have to stop the click event on the a bubbling up to div#test. You can do that like this:

$(document).ready(function() {
    $('#test').click(function() {
        alert('the link was not clicked'); 
    });
    $('#test a').click(function(e) {
        return false;

        //equivalent to:
        //    e.stopPropagation();
        //    e.preventDefault();
    });
});

demo

榆西 2024-12-16 19:32:18

您可以处理该事件或简单地返回 false:

http://jsbin.com/aliwih/edit#source< /a>

$(document).ready(function() { 
  $('#test').click(function() { 
      $("#hello").text('the link was not clicked'); 
      return false;
  });
  $('#test a').click(function() { 
     $("#hello").text('the link clicked'); 
     return false;
  });
}); 

You can work with the event or simply return false:

http://jsbin.com/aliwih/edit#source

$(document).ready(function() { 
  $('#test').click(function() { 
      $("#hello").text('the link was not clicked'); 
      return false;
  });
  $('#test a').click(function() { 
     $("#hello").text('the link clicked'); 
     return false;
  });
}); 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文