wmode ="opaque"的问题以及wmmode ="window"的问题

Mur*_*Dev 2 apache-flex flash z-index arcgis wmode

好的,首先我遇到2个问题,默认wmode为"window".我的网页导航菜单将在我的flex/flash应用程序下.另一个问题是在Flash应用程序中滚动整个页面会滚动.

我将wmode更改为"opaque",这解决了导航菜单的问题,现在它们显示在Flash应用程序上方.多数民众赞成好,但现在我在Flash应用程序中根本没有滚动.

我意识到这是一个很大的问题,但我似乎无法找到解决这两个问题(实际上是2.5个问题)的任何解决方案.

我想A)导航链接显示在Flash应用程序上方,因此它们不会被隐藏; B)允许在Flash应用程序内滚动; 和C)如果鼠标悬停在Flash应用程序上,则阻止滚动网页.

如果你们有任何想法会很棒.:) 提前致谢.

zzz*_*Bov 5

我写的时候的意思是:

wmode = transparent&wmode = opaque与mousewheel的行为相同.

是这两种模式都不能MOUSE_WHEEL在大多数浏览器中捕获闪存中的事件(我相信IE是唯一能够MOUSE_WHEEL正确捕获事件的浏览器).

解决方案是MOUSE_WHEEL通过JavaScript 监听事件:

//ie handles wmode=transparent correctly
//every other browser uses addEventListener
if ( !document.attachEvent )
{
  //console.log('attached');
  window.addEventListener('DOMMouseScroll', scrollListener, false);
  window.addEventListener('mousewheel', scrollListener, false);
}

scrollListener( e )
{
  var delta
  if ( e.wheelDelta )
  {
    delta = e.wheelDelta / 40;
  }
  else if ( e.detail )
  {
    delta = -e.detail;
  }
  //do stuff with delta
}
Run Code Online (Sandbox Code Playgroud)

然后,您需要使用ExternalInterface.addCallback为JS设置一个回调来警告Flash MOUSE_WHEEL发生了一个事件.

wmode=transparentwmode=opaque与其他鼠标事件的问题也是如此.