使用JavaScript关闭基础4下拉按钮菜单窗口

使用JavaScript关闭基础4下拉按钮菜单窗口,javascript,jquery,zurb-foundation,Javascript,Jquery,Zurb Foundation,我正在努力解决JavaScript/jQuery问题。我正在开发基金会4。我有一组5个按钮。其中两个按钮是。按下下拉按钮时,将显示一个带有下拉选项(链接)的窗口 我对JavaScript或jQuery没有太多经验。无论如何,问题如下: //$('ul#prod.f-dropdown').close(); $('#prod').foundation('dropdown', 'close', $('#prod')) 上面已经注释掉了。一切正常,我的数据加载,下拉按钮突出显示。问题是,在脚本执行之

我正在努力解决JavaScript/jQuery问题。我正在开发基金会4。我有一组5个按钮。其中两个按钮是。按下下拉按钮时,将显示一个带有下拉选项(链接)的窗口

我对JavaScript或jQuery没有太多经验。无论如何,问题如下:

//$('ul#prod.f-dropdown').close();
$('#prod').foundation('dropdown', 'close', $('#prod'))

上面已经注释掉了。一切正常,我的数据加载,下拉按钮突出显示。问题是,在脚本执行之后,基础4下拉按钮窗口不会关闭。这是因为(我猜)我返回false以阻止链接执行。所以我试着用上面的注释行关闭窗口。当我取消对行的注释时,窗口关闭,但返回false不执行,即链接未被禁用,它转到链接I。e
index.php?info=basic
。因此,当我添加closewindow语句时,returnfalse似乎不起作用。我尝试在return false之后添加行,但它没有关闭下拉菜单。

返回false不工作可能是因为在到达该行之前出现了一些JavaScript错误。在本例中,错误是对没有
close
方法的对象调用
.close()
。相反,为了调用基础下拉的“代码>关闭< /代码>方法,您必须做如下的事情:

//$('ul#prod.f-dropdown').close();
$('#prod').foundation('dropdown', 'close', $('#prod'))

我想有一种更优雅的方法可以做到这一点,但我发现这是可行的。请注意,下次请在jsfiddle.net上发布一个简单的示例,并在您的问题中链接到它。这使得重现问题变得更加容易。

返回false不工作可能是因为在到达该行之前出现了一些JavaScript错误。在本例中,错误是对没有
close
方法的对象调用
.close()
。相反,为了调用基础下拉的“代码>关闭< /代码>方法,您必须做如下的事情:

//$('ul#prod.f-dropdown').close();
$('#prod').foundation('dropdown', 'close', $('#prod'))

我想有一种更优雅的方法可以做到这一点,但我发现这是可行的。请注意,下次请在jsfiddle.net上发布一个简单的示例,并在您的问题中链接到它。这使得重现问题变得更加容易。

您还需要附加到下拉列表元素的数据下拉列表内容属性


参考:

您还需要附加到下拉列表元素的数据下拉列表内容属性


参考:

进一步检查行$('ul#prod.f-dropdown')。close()在未注释时不会导致弹出链接关闭。我在弹出菜单上测试了mouseleave函数,发现javascript错误$(ul#prod.f-dropdown)没有关闭方法。我想你不能关闭ul。仍在试图找到关闭弹出窗口的方法。基本上,我希望阻止链接被操作,但仍然希望弹出窗口关闭,返回false是阻止的。进一步检查行$('ul#prod.f-dropdown')。close()未注释时不会导致弹出链接关闭。我在弹出菜单上测试了mouseleave函数,发现javascript错误$(ul#prod.f-dropdown)没有关闭方法。我想你不能关闭ul。仍然试图找到一种方法来关闭弹出窗口。基本上,我想阻止链接被操作,但仍然希望弹出窗口关闭,返回false是阻止的。谢谢你的回答,如果有很多这样的窗口,这可能会很烦人。我将其修改为以下内容,因此它们都是相同的。很高兴你提出了这种方法。我在基金会的v4.3.2文档中找不到这个文档。谢谢你的回答,如果有很多文档,这可能会很烦人。我将其修改为以下内容,因此它们都是相同的。很高兴你提出了这种方法。我在基金会的v4.3.2文档中的任何地方都找不到这个文档。