【问题标题】:Really simple document.onmouseup not working with IE非常简单的 document.onmouseup 不适用于 IE
【发布时间】:2010-08-19 18:33:55
【问题描述】:

嘿,我还有一个非常简单的 JavaScript 问题... 我有一个 div 在单击链接时显示。这没问题,工作正常。然后,当鼠标单击页面上的任何位置时,我需要隐藏 div。同样,在 FF、Chrome、Safari 和 Opera 中没有问题,但在 IE 中没有问题,而且它现在真的让我很头疼(!)

这里是代码

document.onmouseup = function()
{
  hide();
}

我在这个主题上尝试了很多变体,但到目前为止都没有奏效,即使这个功能只是发出警报,在 IE 中也根本不起作用。而且我的想法已经不多了!

任何帮助将不胜感激。干杯。

【问题讨论】:

  • 请提供更多代码。问题显然不在于您发布的内容。与元素相关的脚本在哪里,隐藏函数的内容是什么?
  • 隐藏();函数很简单 function hide() { elm = document.getElementById("DropdownShare0") if (elm.style.display == "block") { elm.style.display = 'none' } } 实际页面本身非常大,老实说,我不能在这里发布。脚本在页面的头部。我开始认为这可能与页面上的其他内容有关。

标签: javascript internet-explorer function cross-browser onmouseup


【解决方案1】:

我认为问题可能出在您的隐藏功能中..

如果您还没有创建 id 为 DropdownShare0 且具有某些默认显示样式的 div,则代码

"if (elm.style.display == "block")" 将为 false,因为如果在创建元素时没有设置,它将返回 'undefined'

所以也检查一下..

【讨论】:

  • 只有元素在页面上时才会包含该脚本,并且该元素具有默认显示:无。一旦点击链接并触发一些脚本以将显示更改为 display:block,就会更改此设置。
猜你喜欢
  • 2013-08-24
  • 1970-01-01
  • 1970-01-01
  • 2015-01-29
  • 2020-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多