【发布时间】:2010-07-10 22:04:43
【问题描述】:
这是场景:
我正在 Jquery 中开发一个下拉小部件。我不得不说这很简单。
主要问题是当用户在我的小部件外部单击以使其隐藏其列表时捕获。我在这里找到了这段代码:
onClickOutside : function(event, e){
var thisObject = this;
var clickedOutside = true;
// check if the object itself or its parents are seoDropDown ones.
$(e).parents().andSelf().each(function () {
if (this == thisObject) {
clickedOutside = false;
return false;
}
});
if (clickedOutside) {
//hide my widget
}
},
而且效果很好;我把它绑定到我的对象上,比如
myWidget.bind("onClickOutside", myWidget.onClickOutside);
然后使用触发它
$(document).click(function (e) {
$(myWidget).trigger('onClickOutside', [e.target]);
});
如果我在 IE 中单击嵌入标签内的 swf 电影,一切正常。
我很确定 IE 中的 swf 可以向 javascript 发送一些消息,因为即使外部点击是在 swf 对象上完成的,YUI 菜单也能够完美隐藏,所以......有人知道 YUI 菜单是怎么做的吗?小部件能够在 IE 的 swfs 内“监听”点击?
谢谢!
【问题讨论】:
标签: jquery internet-explorer flash onclick