我编写了一个简单的 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() 检查也会失败。
发生了什么,我该如何解决这个问题?