JQuery $ (document) .onClick не работает при нажатии на <embed>flash в IE (но работает в FF) - PullRequest
1 голос
/ 11 июля 2010

Это сценарий:

Я разрабатываю выпадающий виджет в 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]);
});

Все работает отлично, КРОМЕ, если я щелкну фильм SWF внутри тега вставки в IE.

Я почти уверен, что SWF в IE может посылать некоторые сообщения в javascript, потому что меню YUI способно идеально скрываться, даже если внешний щелчок был сделан над объектом swf, так что ...... кто-нибудь знает, как меню YUI Виджет способен «прослушивать» клики внутри SWFs в IE?

Спасибо!

1 Ответ

4 голосов
/ 11 июля 2010

Уровень техники : использовать onmousedown / onmouseup.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...