Javascript 单击事件未触发-jQuery

Javascript 单击事件未触发-jQuery,javascript,jquery,onclick,Javascript,Jquery,Onclick,我在本地机器上有如下内容: <form> ... <input type="submit" name="bouton" id="bouton" style="display:none;" /> </form> <script type="text/javascript"> setTimeout(function () { console.log("test"); $("#bouton").click(); //ale

我在本地机器上有如下内容:

<form>
...
<input type="submit" name="bouton" id="bouton" style="display:none;" />    
</form>
<script type="text/javascript">
setTimeout(function ()
{
    console.log("test");
    $("#bouton").click();
    //alert("redirection");
}, 150);
</script>

...
setTimeout(函数()
{
控制台日志(“测试”);
$(“#bouton”)。单击();
//警报(“重定向”);
}, 150);

加载此页面时,将正确触发
单击
事件。现在,在我的远程服务器上,完全相同的代码不会触发此事件,但是
console.log
消息起作用!我按照一些
的建议尝试添加
$(“#bouton”)[0]但它不起作用。怎么可能呢?

在此调用中包装您的全部代码:

$(document).ready(function(){
// your code here
});
最有可能的是,我在这里所做的解释也是正确的:

请阅读完整答案:它包含一些帮助您调试代码的信息


请务必签入可能
jQuery
尚未加载,请尝试此操作以确保

var l = document.getElementById("bouton");
l.click();

您应该将JS封装在document ready事件中。为什么在这里使用超时?尝试在JSFIDLE中复制问题。在超时回调中,您将看到:
console.log($(“#bouton”).length)???一些解释可能也很好,这样OP就知道它为什么会工作。我试着按照你说的那样包装我的代码,但它没有改变任何东西。好吧,你的代码正在工作,所以你应该提供更多的细节或进行更多的调试。证明:
var l = document.getElementById("bouton");
l.click();