【问题标题】:js function not working on IE8js函数在IE8上不起作用
【发布时间】:2011-02-23 13:34:34
【问题描述】:

我有一个 div,在鼠标悬停时,我会用这个函数显示一个 ice:menuPop

function fireContextMenu(element, event) {
   if (element.getAttribute('oncontextmenu')) {
      element.oncontextmenu = new Function ('event', element.getAttribute('oncontextmenu'));
      element.oncontextmenu(event);
   }
}

这样称呼它:

onmouseover="fireContextMenu(this, event);"

在 Chrome 上运行完美,但在 IE 上却不显示。 我想是js有问题还是IE8不支持div的hover?

【问题讨论】:

  • 顺便说一句,看看这个:stackoverflow.com/questions/259614/…
  • 冰脸颤抖....new Function尖叫
  • 所以,每次鼠标移到你的元素上时,你都想将“oncontextmenu”属性设置为一个新函数……真的吗?你认为这会在鼠标第二次移到元素上时起作用吗?
  • getAttribute 被严重破坏,除非您使用的是 IE8 标准模式。如果您处于 Quirks 模式或 IE 7 兼容模式,这没有希望。 getAttribute 最好避免使用直接属性访问器。
  • @Pointy:是的,它正在工作。如果您能提出更好的方法,我将不胜感激。

标签: javascript internet-explorer-8 icefaces


【解决方案1】:

解决了。

不再使用js函数,直接使用oncontextmenu的值

就我而言:

onmouseover="Ice.Menu.contextMenuPopup(event, 'frmMainMenu:menuPopupCBM_sub', 'frmMainMenu:divMenuPopupCBM');return false;"

【讨论】:

    猜你喜欢
    • 2014-07-11
    • 2012-04-07
    • 2011-03-01
    • 1970-01-01
    • 2012-06-28
    • 1970-01-01
    • 2014-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多