简单点击强制包含<a> Click</a>

时间:2012-09-24 15:40:32

标签: javascript jquery

我怎样才能得到一个简单的调用点击来实现这样的功能:http://jsfiddle.net/ftwPS/6/我显然缺少一些基本的东西,因为当你点击“点击”时这不起作用。

$('tr').click(function() {
   $(this).find('a').click();
});​

<table>
<tr>
    <td>
        <a href="http://google.com" target="_blank">Google</a>
    </td>
    <td>
        CLICK
    </td>
</tr>
</table>

非常感谢任何帮助。谢谢。

4 个答案:

答案 0 :(得分:2)

将您的代码更新为此内容;

$(function(){
    $('tr').click(function() {
        $(this).find('a')[0].click();
    });
});
​

请参阅此Fiddle

修改

更新的答案

答案 1 :(得分:2)

触发锚标记上的点击事件将不会执行任何操作,因为锚标记没有onclick处理程序 - href属性是浏览器处理的完全不同的动物。

如果您想在点击href时导航到锚标记的td,请改为:

$('tr').click(function() {
    window.location.href = $(this).find('a').attr('href');
});​

http://jsfiddle.net/ftwPS/15/

答案 2 :(得分:0)

您可以使用dispatchEventhttp://jsfiddle.net/ftwPS/24/

// Don't fire for the <a> itself, otherwise two windows will open
if($(e.target).is("a")) return;

var evt = document.createEvent("HTMLEvents");
evt.initEvent("click");

// Assuming there is only one <a> inside
$(this).find("a").get(0).dispatchEvent(evt);

答案 3 :(得分:0)

$('tr').click(function() {
   window.open($(this).find('a').attr('href');
});