【问题标题】:JQuery $(document).onClick doesn't work when clicking an <embed> flash on IE (but it does in FF)在 IE 上单击 <embed> 闪存时,JQuery $(document).onClick 不起作用(但在 FF 中起作用)
【发布时间】: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


    【解决方案1】:

    Prior art:使用onmousedown/onmouseup

    【讨论】:

    • 成功了。由于我是这里的新手,我无法投票给你的答案,但非常感谢你:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-12
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2011-12-06
    • 1970-01-01
    相关资源
    最近更新 更多