Javascript jQuery';s click()未单击?

Javascript jQuery';s click()未单击?,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,我想jQuery的click()可以让我们添加一个处理程序,或者只需单击一个元素 然而,我试着: $(function() { setTimeout(function() { $('a').first().trigger('click'); // or click(), the same }, 3000); }); 并等待了3秒钟,它不会单击第一个,因此应该已经有了用于单击媒体的事件处理程序,为什么。单击(),这与触发器('click')相同,不会触发该事件处理

我想jQuery的
click()
可以让我们添加一个处理程序,或者只需单击一个元素

然而,我试着:

$(function() {
    setTimeout(function() {
        $('a').first().trigger('click'); // or click(), the same
    }, 3000);
});

并等待了3秒钟,它不会单击第一个
,因此应该已经有了用于单击媒体的事件处理程序,为什么
。单击()
,这与
触发器('click')
相同,不会触发该事件处理程序?

调用
单击()
方法不会模拟单击链接。它调用受影响元素上的任何
click()
处理程序。这是一个微妙但重要的区别。如果要模拟单击链接,则没有可行的跨浏览器方法。

我不确定
.first()
是否是使用此功能的可能方法。你试过了吗

$('a:first').click();

相反?如果
.first()
不存在,它会抛出一个错误,
.click()
永远不会到达,而且由于它存在于一个匿名函数中,您甚至可能根本看不到错误(静默失败)。

您试图将
click()
方法用于其他目的
click()
用于捕捉对特定元素的单击,而不是模拟它


阅读更多信息

如果您已经有了链接的事件处理程序,则可以使用以下方法:


以下是模拟点击链接的方法(只要这些链接是正常链接):


你到底想做什么?链接通常用于重定向到新页面。因此,如果您需要重定向,请使用以下方法:

        $(function() {
        setTimeout(function() {
            window.location.replace("linkToNewPage.html");
        }, 3000);

    });
“有一个选项用于此。Plz检查 在本页 如果设置autoplay=true,则第一首歌曲 将自动启动..”

-

关于:


对于单击,请将单击处理程序附加到所需内容,例如:

$('#MyElementID').click(function() {
//How you want it to behave when you click it.
});

window.setTimeout(YourFunction, 3000);

function YourFunction {
//Your function that runs. Maybe fire the onclick handler?
}

我最近遇到了类似的问题。没有发生任何事情的原因是锚定标记没有用于jquery调用的“click”方法。例如,如果将锚定标记更改为
标记,.click()将模拟用户按预期进行单击

对此有一些“黑客”解决方法,但这取决于锚标记的事件处理程序是如何设置的。例如,如果在锚定标记href属性中有一些javascript,这将起作用(这恰好是我问题的解决方案):


同意,它应该按原来的方式工作。我留下答案,因为该点对于其他错误仍然有效。您可以在IE中“单击”;-)[但不是FF,不知道其他人。]你确定你能在IE中“点击”吗?我尝试了IE 8,但它无法跟踪链接。此外,请参见在大多数情况下单击而不使用参数可以模拟单击。在您提供的相同URL上,选中单击列表中的最后一个arg选项。
        $(function() {
        setTimeout(function() {
            window.location.replace("linkToNewPage.html");
        }, 3000);

    });
$('#MyElementID').click(function() {
//How you want it to behave when you click it.
});

window.setTimeout(YourFunction, 3000);

function YourFunction {
//Your function that runs. Maybe fire the onclick handler?
}
var lnk = $('a.mylink');
window.location = lnk.attr('href');