这是方案:

我在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内部“监听”点击的概念?

谢谢!

最佳答案

Prior art:使用onmousedown / onmouseup

关于jquery - jQuery $(document).onClick在IE上单击<embed>闪存时不起作用(但在FF中起作用),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3220995/

10-11 22:31
查看更多