$( 'a')的触发器( '点击');不工作

时间:2013-06-14 09:12:15

标签: javascript jquery

如何点击<a href="test.zip" id="mylink">test</a>

进行jquery
<script>
    // this wont work
    $('#mylink').trigger('click'); 
</script>

请帮助

10 个答案:

答案 0 :(得分:15)

如果您打算导航到指定的URL,就像用户点击了链接一样,请尝试调用DOM .click()方法而不是jQuery .click()方法:

$('#mylink')[0].click();

jQuery .click()将调用您绑定但不会导致默认点击行为的事件处理程序。

答案 1 :(得分:9)

$(document).ready(function(){
    $('#mylink').trigger('click');
});

答案 2 :(得分:5)

您需要触发默认的click方法,而不是jQuery方法。这可以通过使用this在jQuery的click事件中添加默认单击选项来完成。

<a href="http://about.com/"></a>

这就是JavaScript的外观。它基本上是在DOM准备就绪时创建事件,然后在中间点击它,从而跟随链接。

$(function() {
    $('a').click(function() {
        // 'this' is not a jQuery object, so it will use
        // the default click() function
        this.click();
    }).click();
});

要查看实时示例(打开about.com),请参阅:http://jsfiddle.net/8H9UX/

答案 3 :(得分:2)

只需点击:

$("#mylink").click();

如果你的脚本在头部,那么你需要确保元素存在,所以当文档准备就绪时应该执行脚本。

$(document).ready(function () {
    $("#mylink").click();
});

答案 4 :(得分:2)

如果您希望下载文件,则不会发生trigger()不会触发默认事件。

答案 5 :(得分:1)

使用以下方式....因为您要下载文件以防止链接导航。

$(document).ready(function() {
    $('#mylink').click(function(e) {
       e.preventDefault();  //stop the browser navigating
       window.location.href = 'test.zip';
    });
}); 

答案 6 :(得分:0)

document.getElementById('mylink').click();

trigger('click')会触发点击事件,但不会触发默认事件。

$('a').click(function(){ alert('triggered') }) // this will be fired by trigger

答案 7 :(得分:0)

您需要等到DOM完成加载。这可以使用jQuery完成。一旦所有元素在DOM中可用,匿名函数就会在页面加载时运行。

<script>
    $(function() {
        $('#mylink').trigger('click');
    });
</script>

答案 8 :(得分:0)

您的上述代码无效,因为您已在href中指定了值,然后您想要此锚标记的某些操作onclick

<a href="test.zip" id="mylink">test</a>

首先,您已将.zip分配给href。因此它将首先打开zip文件onclick,不会触发onclick触发器中的任何其他操作。

所以无论你想做什么操作,先执行它然后打开.zip

使用如下代码

<a href="javascript:void(0);" id="mylink">test</a>

$('#mylink').click(function(){
    // do your operation here
    // now open zip 
});

答案 9 :(得分:0)

试试这个

setTimeout(() => {
$("#mylink")[0].click();
}, 500);