Jquery 以编程方式打开基础ZURB下拉 我正在构建一个带有基础下拉的购物车,所以我需要一种方法来以编程方式打开下拉菜单。 有办法吗

Jquery 以编程方式打开基础ZURB下拉 我正在构建一个带有基础下拉的购物车,所以我需要一种方法来以编程方式打开下拉菜单。 有办法吗,jquery,zurb-foundation,Jquery,Zurb Foundation,我试过这个: $(document).foundation('dropdown', 'open', ($('#top-bar-cart'), $('.top-bar-cart-link')); 这: 这是: $('.dropdown-btn').trigger('click'); 但到目前为止还没有成功 编辑: 我想我发现了问题所在。 我正在使用click事件中的代码对其进行测试,因此我需要: e.stopImmediatePropagation(); 让它工作。 完整示例: $('#bu

我试过这个:

$(document).foundation('dropdown', 'open', ($('#top-bar-cart'), $('.top-bar-cart-link'));
这:

这是:

$('.dropdown-btn').trigger('click');
但到目前为止还没有成功

编辑:

我想我发现了问题所在。 我正在使用click事件中的代码对其进行测试,因此我需要:

e.stopImmediatePropagation();
让它工作。 完整示例:

$('#button').click(function(e) {
  e.preventDefault();
  e.stopImmediatePropagation();

  // use this (most correct way, I think)
  Foundation.libs.dropdown.open($('#top-bar-cart'), $('.top-bar-cart-link'));
  // or this
  //('.top-bar-cart-link').trigger('click');
});
谢谢你的评论

尝试
$('.dropdown btn').trigger('click.fndtn.dropdown')
而不是
。trigger('click')
。。。当基金会命名它的事件时,

根据,这就是你应该如何做的:

$('#top-bar-cart, .top-bar-cart-link').foundation('open');
…或者如果您自己初始化了下拉列表:

const dropdown = new Foundation.Dropdown($('#dropdown'))
dropdown.open()

第二个和第三个选项有效,第一个选项无效。你应该提供一个完整的例子,因为你的错误可能在其他地方。这是我为这个问题找到的唯一可行的解决方案。e.preventeddefault();和e.立即停止传播();是使这项工作正常进行的关键因素。非常感谢。
const dropdown = new Foundation.Dropdown($('#dropdown'))
dropdown.open()