jQuery - 手动触发被点击的<div>内部链接

6

可能是重复问题:
如何通过jquery模拟单击锚点?

出于某种原因,我认为这很容易。下面是我的代码:

$('#someDamnedDiv').live('click', function () {
    $('a', this).trigger('click');
});

我的函数出了什么问题?

2个回答

7

我认为模拟点击一个链接是不可能的。在这里查看Stack Overflow。但是,你可以这样做:

$('#someDamnedDiv').live('click', function (event) {
    window.location = $(this).find('a').attr('href');
    event.preventDefault();
});

似乎那个问题的答案之一确实展示了一种跨浏览器的方法来做到这一点!请参阅引用Selenium的答案。 - Ryley
@Ryley 看起来很有前途!但我现在不会在每个浏览器中测试它 :) - cambraca
这个主题还有另外一个问题在这里 - cambraca
这个可以解决问题。谢谢。 - asfsadf

4
这是我在一个项目中使用的内容:
$('div.classname').click(function(e){
    if($(e.target).is('a')) return;
    $(this).find('a').click();
});

正是我所需要的,这样可点击的 div 中的 href 仍然是活动的。谢谢! - Torre Lasley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接