【问题标题】:.trigger() not working when manually trying to click div.trigger() 在手动尝试单击 div 时不起作用
【发布时间】:2023-03-20 11:13:02
【问题描述】:

想用 trigger() 方法手动点击这个链接上的菜单。最终希望将鼠标悬停在栏上以手动调出导航。

http://matchboxlondon.com/ten/menu/index.html

任何帮助将不胜感激。 .click() 也是不行的。

基本上在控制台中运行它什么都不做:

$('#trigger').trigger('click');

【问题讨论】:

  • 你的代码在哪里?在 SO 处添加您的代码。
  • 仅添加 1 行代码无济于事。我们不知道您的 HTML 中的 #trigger 元素在哪里。 trigger() 的用法非常简单,看起来您做对了,但我们需要您的 HTML 代码或 sn-p 来提供帮助。
  • trigger('click') 只会执行附加的点击处理程序。它实际上不会单击它。你可以试试$('#trigger')[0].click()
  • 不错的@Satpal。搞定了!

标签: javascript jquery triggers click


【解决方案1】:

你需要使用触发DOM元素点击

$('#trigger').get(0).click();

使用.get(),它检索与jQuery对象匹配的DOM元素。因为.click() 将触发元素点击事件处理程序。 它不会真正点击元素。

使用简单的 Vanialla JS

document.getElementById('trigger').click()

DEMO

【讨论】:

    【解决方案2】:

    您触发事件的代码是正确的。检查以确保 #trigger 是正确的 ID,并且该元素绑定了一个点击事件。

    要绑定它,您可以执行以下操作:

    $('#trigger').on('click', function(e) {
       e.preventDefault();
       //do your own thing here
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-12
      • 1970-01-01
      • 2016-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多