如何点击<a href="test.zip" id="mylink">test</a>
<script>
// this wont work
$('#mylink').trigger('click');
</script>
请帮助
答案 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);