如何触发HTML链接(锚元素)的默认操作/事件?

时间:2011-08-25 06:50:39

标签: javascript jquery html

如何触发HTML链接(锚元素)的默认操作/事件?那就是使用JavaScript / jQuery“点击”现有的HTML链接,就像用户点击它一样。

仅使用.click()似乎不起作用。

$('#alink').click();
// the nothing happening

对于这个HTML:

<a id="alink" href="http://google.com" target="_blank">a link</a>

示例小提琴:http://jsfiddle.net/dCfD8/

我不想在JavaScript中创建一个新窗口(并且在点击链接时需要处理其他任何需要处理的事情)。

4 个答案:

答案 0 :(得分:2)

您可以使用jQuery中的简单trigger方法触发click事件。

$('#alink').trigger('click');

请注意,即使在事件被触发时,浏览器也不会跟随链接href。跟随href的唯一方法是用鼠标自己点击它。

据我所知,没有办法强制链接表现得好像被点击一样。您必须更改文档位置或类似内容以实际在页面之间导航。

答案 1 :(得分:1)

扩展Fabio Cicerchia对自己帖子的评论:你可以使用window.open

var link = $('#alink');
var target = link.attr("target");
window.open(link.attr("href"), target ? target : "_self");

答案 2 :(得分:0)

    <script src='jquery lib source' ></script>
    <script>
    function force()
    {    ...do something...to fill page2
         $('#gopage2').trigger('submit');
    }    
    </script>  
    <form action='#page2' id='gopage2'>
    </form>

    ...
    <span name='#page2'>This is page2</span>

答案 3 :(得分:-1)

试试这个:

$('#alink').trigger('click');