【发布时间】:2013-07-03 01:47:09
【问题描述】:
我的要求:我正在开发一个 twitter 引导按钮下拉菜单 (http://twitter.github.io/bootstrap/components.html#buttonDropdowns),并在其中一个列表项中使用 bootstrap-datepicker (http://eternicode.github.io/bootstrap-datepicker/#examples),如下图所示。
根据我的要求,我需要在最后一项中包含月历,然后单击它会打开 bootstrap-datepicker,我应该能够选择月份和年份。
我面临的问题:当我打开该日期选择器并选择任何月份或年份或单击日期选择器中的任何导航以移动到另一个月份或年份时,按钮下拉隐藏,但是日期选择器保留在那里,如下图所示。我一直在尝试但无法使其正常工作。
我的想法(不确定它是否正确):当我点击 datepicker 时,它被直接附加到 body 元素上,因为所有列表项及其子项都在深处html。因此,即使我尝试为下拉列表中的任何点击停止事件传播,它也不会计入日期选择器,因为它已附加到正文。 (只是为了了解更多信息,我在单击其他列表项时定义了一些操作)
如果有人能帮我解决这个问题,我将不胜感激,我真的需要让这个东西为我的项目工作。
【问题讨论】:
-
您还需要添加一些代码,并且可能需要一个小提琴来证明您的问题以获得更多响应。但无论如何,这就是你正在尝试的吗? jsfiddle.net/hTKYR
-
@PSL - 你是对的,对此感到抱歉,这是小提琴 - jsfiddle.net/n3NNx。奇怪的是,这里似乎工作正常,当我选择月份时下拉菜单不会隐藏,但是当整个代码与其他内容一起在页面中使用时,下拉菜单会隐藏,如我在我的第二张图片中所示邮政。 (我在你的小提琴中使用过资源,不知道,因为我是第一次创建它)
-
所以问题可能出在其他地方。也只需在小提琴和页面中查看 BS 的版本和其他内容。
-
@PSL - 没错,我只是在看那个。但是谢谢,我想你帮助我知道问题不在于这段代码。其他因素正在影响这一点。
-
@PSL - 我意识到你分享的小提琴有来自 eyecon 网站 (eyecon.ro/bootstrap-datepicker/js/bootstrap-datepicker.js) 的日期选择器,但我最初使用的是来自 eternicode (github.com/eternicode/bootstrap-datepicker/blob/master/js/…) 的那个,它只是改进和更好的版本(以前的版本有点错误)。当我使用它时,我看到了问题,这就是问题所在 - jsfiddle.net/eqwWJ。你知道是什么原因造成的吗,两个 js 文件的差异看起来是罪魁祸首。
标签: jquery twitter-bootstrap drop-down-menu event-handling datepicker