【发布时间】:2010-08-25 21:40:45
【问题描述】:
我编写了一个简单的 jQuery (1.4.2) UI (1.8) 小部件,它嵌入了一个 jQuery UI 日期选择器。我想检测用户何时在我的小部件外部单击,在这种情况下它应该自动隐藏自己。我的代码大致是这样的:
var self = this;
$(document).bind("click.mywidget": function(event) {
var target = event.target;
if (!self.container.has(target).length && target != self.container.get(0)) {
self.hide();
}
});
点击日期选择器中的日期或月份上一个/下一个按钮时会出现问题。出于某种原因,即使 Firebug 将这些元素显示为我的容器的后代,has() 检查对它们来说还是失败了。
发生了什么,我该如何解决?
【问题讨论】:
-
您确定日期选择器在容器中吗?默认情况下,我已经看到它被附加到页面的末尾。
标签: jquery jquery-ui jquery-ui-datepicker