JQuery:URL打开两次 - 如何只打开一次?

时间:2011-09-04 09:17:00

标签: jquery

我有一个可以点击行的表格。同样在行内我有一个可点击的按钮。点击两者都打开一个新窗口和相同的URL。 可点击的行由JQuery实现。 HTML的可点击按钮。 (如果禁用了javascript) 如何停止URL打开两次,即单击行中的按钮?我尝试过布尔逻辑,但无法使其工作,即使单击按钮一次,按钮仍然需要正常工作。

我是Javascript和Jquery的新手。非常感谢。请在下面找到我的代码:

Jquery代码:

$(document).ready(function() {

    $('#myTable tr').click(function() {
        var href = $(this).find("a").attr("href");
        if (href) {
          window.open(href);
        }
    });

});

HTML代码:

<td>
 <a href="some link" target="_blank">
  <img src="image.jpg"/>
 </a>
</td>

2 个答案:

答案 0 :(得分:6)

event.preventDefault()将停止执行任何默认操作。

$(document).ready(function() {

    $('#myTable tr').click(function(event) {
        var href = $(this).find("a").attr("href");
        if (href) {
          window.open(href);
          event.preventDefault();
        }
    });

});

答案 1 :(得分:0)

好的,我再看看这个,并意识到原始的建议块是正确的,但是子链接是需要阻止其默认行为的那个。

$(document).ready(function() {  
  $('#myTable tr td a').click(function(e) {
    e.preventDefault();        
  });
  $('#myTable tr').click(function() {
    var href = $(this).find("a").attr("href");
    if (href) {
      window.open(href);
    }
  });
});

回顾Usman建议的评论。