jQuery - trigger("click") & .click 在控制台中工作,但在脚本中不起作用

3

这是我在控制台中尝试的内容:

$("#element a:eq(0)").click();

它正常工作。 以下是我在脚本中尝试的内容:

$(document).ready(function () {
    console.log($("#element a:eq(0)"));
    $("#element a:eq(0)").click();
    $("#element a:eq(0)").trigger("click");
});

当我刷新页面时,可以在控制台日志中看到元素被完美地选择了,但是没有触发点击事件。您是否看到任何可能导致这不起作用的原因?


你能分享一点HTML吗? - Alive to die - Anant
元素应该做什么?也许它取决于另一个脚本吗? - Jonas Wilms
1
可能是$('a').trigger('click');不起作用的重复问题。 - prasanth
一切都正常运作。我已经将链接隐藏在点击函数内部,并在加载时触发点击事件,从而隐藏了链接。请参见此处的链接 https://jsfiddle.net/82rhLvu1/1/。您需要给我们提供有关其余代码的更多详细信息。 - Mihai T
在控制台日志中,你确切地看到了什么?如果缺少元素,它仍会显示为[Object],因为你会得到一个空的jQuery对象。将其更改为console.log($("#element a:eq(0)").length);以确保。 - freedomn-m
显示剩余2条评论
1个回答

1
你的事件已经完美触发,但是因为没有定义点击事件监听器,所以什么也没有显示。如果你定义了点击事件,你会看到事件将会触发两次(.click().trigger('click'))。
另外,如果你想要触发重定向到 href,只需添加 location.href = this.href,点击和重定向就会同时触发。
请参见下面的代码片段:

$(document).ready(function () {
    console.log($("#element a:eq(0)"));
     
    $("#element a:eq(0)").click(function() {
      alert("#element a:eq(0) clicked");
      //if you want to redirect to href page just incomment the below line 
      //location.href = this.href;
    });
    
    $("#element a:eq(0)").click();
    
    $("#element a:eq(0)").trigger("click");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="element" >
  <a href="https://dev59.com/GgT4s4cB2Jgan1znMWN0" >1</a>
  <a href="#2" >2</a>
  <a href="#3" >3</a>
</div>


这对你有帮助吗 :) - Bourbia Brahim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接