【问题标题】:Why is trigger('click') not working?为什么触发器('点击')不起作用?
【发布时间】:2017-04-12 00:12:53
【问题描述】:

我有一个简单的anchor 元素,如下所示:

 <a href="http://www.google.com" class="foo">YahOO</a>

下面是JS代码:

$(document).ready(function() {
    $(".foo").trigger('click');
});

为什么click code 没有被执行?

http://jsfiddle.net/L7vaLrwk/

【问题讨论】:

  • 你在 jsfiddle 以外的地方试过吗?
  • 如果没有为锚分配事件处理程序,则 jquery 不会触发任何内容
  • .trigger 不会触发默认行为。试试$(".foo")[0].click(); 之类的东西(不是防错)。实际上,这确实不是实现您想要的东西的好方法...
  • 为什么你想这样做?你想做什么?你想解决什么问题?

标签: javascript jquery


【解决方案1】:

不要使用.trigger(),而是尝试使用.click(),并按类型和类名定位元素。

HTML

    <a href="http://www.google.com" class="foo">YahOO</a>

Javascript

    $(document).ready(function() {
      $('a.foo')[0].click()
    })

【讨论】:

    【解决方案2】:

    你可以试试这个方法,

    HTML
    &lt;a href="http://www.example.com" class="foo" id="fooTest"&gt;YahOO&lt;/a&gt;

    JavaScript
    document.getElementById('fooTest').click();

    在链接中添加了 id 以唯一标识它,并使用纯 javascript 模拟点击。
    已将 google.com 替换为 example.com,因为 google 不会在 iframe 内打开

    您可以在jsFiddle 上查看工作示例。

    【讨论】:

    • 我不赞成,因为他问如何按类定位并使用 jQuery 来做。必须更改 HTML 才能回答问题。
    • @stefan,他尝试使用jQuery,但我看不到他提到jQuery唯一的解决方案。
    • 无论哪种方式 html 都不需要更改解决方案,您可以使用 getElementsByClassName
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多