如何让 jquery 点击<a href="test.zip" id="mylink">test</a>
<script>
// this wont work
$('#mylink').trigger('click');
</script>
请问你能帮忙吗
如何让 jquery 点击<a href="test.zip" id="mylink">test</a>
<script>
// this wont work
$('#mylink').trigger('click');
</script>
请问你能帮忙吗
如果您的意图是像用户单击链接一样导航到指定的 URL,请尝试调用 DOM.click()
方法而不是 jQuery.click()
方法:
$('#mylink')[0].click();
jQuery.click()
将调用您已绑定但不会导致默认单击行为的事件处理程序。
$(document).ready(function(){
$('#mylink').trigger('click');
});
您需要触发默认click
方法,而不是由 jQuery 触发的方法。这可以通过在 jQuery 的单击事件中添加默认单击选项来完成,使用this
.
<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/
尝试这个
setTimeout(() => {
$("#mylink")[0].click();
}, 500);
只需点击:
$("#mylink").click();
如果您的脚本在头部,那么您需要确保元素存在,因此应该在文档准备好时执行脚本。
$(document).ready(function () {
$("#mylink").click();
});
如果您希望文件被下载,它不会发生,因为trigger()不会触发默认事件。
您需要等到 DOM 完成加载。这可以用 jQuery 来完成。一旦 DOM 中的所有元素都可用,匿名函数就会在页面加载时运行。
<script>
$(function() {
$('#mylink').trigger('click');
});
</script>
使用以下方式....因为您要下载文件,请阻止链接导航。
$(document).ready(function() {
$('#mylink').click(function(e) {
e.preventDefault(); //stop the browser navigating
window.location.href = 'test.zip';
});
});
document.getElementById('mylink').click();
trigger('click')
将触发点击事件,但不会触发默认事件。
$('a').click(function(){ alert('triggered') }) // this will be fired by trigger
您上面的代码将不起作用,因为您已经分配了值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
});