我的遗留应用程序存在一个小问题。它显示一个图形,当您将鼠标移动到图形上的某个点上时,它会在工具提示中以及浏览器底部的状态栏上显示一些信息(它是一个仅限IE的应用程序)。但它并不总是显示信息;有时您必须将鼠标移开该点并再次返回以显示它。回到应用程序编写时,开发人员使用'onmousemove'来显示信息,而不是'onmouseover'。不确定为什么所以我把它更改为'onmouseover'以查看它是否有所作为并且它似乎更可靠地工作,除了现在信息没有显示在状态栏上。相反,显示href信息(图表上的点可点击以在该点上钻取)。
以下是一些显示问题的简单示例HTML:
<html>
<script language="JavaScript">
function display(txt) {
window.event.srcElement.title = txt;
window.status = txt;
}
function reset() {
window.status = window.defaultStatus;
}
</script>
<body>
<a href="#" onclick="alert('do something');" onmouseover="display('Displaying mouseover!');" onmouseout="reset();">This is mouseover text.</a>
<br/><br/>
<a href="#" onclick="alert('do something else');" onmousemove="display('Displaying mousemove!');" onmouseout="reset();">This is mousemove text.</a>
</body>
</html>
有没有办法让'onmouseover'事件实际显示状态栏上的信息而不是显示href信息?使用'onmousemove'时,状态栏会非常简短地显示href信息,然后更改为指定的文本。这只是两个事件有效的顺序问题吗?
戴夫
答案 0 :(得分:1)
如果您应用中的<a>
(锚点)没有(真实)href
,则可以将其替换为任何其他html元素。 (例如<span>
);除了默认样式之外,锚点不会添加任何内容(来自行为敏感)。
用另一个元素替换锚点时 可能需要额外的造型。对于样式,我添加了“链接”类
<span class="link" onclick="alert('do something');" onmouseover="display('Displaying mouseover!');" onmouseout="reset();">This is mouseover text.</span>
的CSS:
span.link
{
color:blue;
text-decoration:underline;
}
我知道这不会解决onmouseover + <a>
的问题,但它给出了
保证“href”永远不会显示在状态栏中,JavaScript函数也能正常工作。
答案 1 :(得分:0)
据我所知,这看起来是正确的。您可能想要检查的一件事是现代浏览器已禁用更改状态消息的功能。这是出于各种原因 - 主要原因是安全性。如果您将鼠标悬停在某个链接上,则应该会看到该链接的位置 - 而不是一些隐藏的文字,这些文字会阻止您知道下一步的位置。您可以更改浏览器上的设置,以确保您看到状态消息。
在Internet Explorer中:
转到工具&gt;互联网选项
当然,你总是可以走另一条路线,只是让工具提示显示坐标而不是状态栏。你试过吗?这只是基本的HTML(使用alt
属性)。
答案 2 :(得分:0)
在我看来,问题在于您正试图让遗留应用程序保持传统应用程序
<小时/>
window.status:设置文本 底部的状态栏 浏览器或返回先前设置 文本。
但现在它的出现了。
例如,如果你想让它在Firefox中运行,你必须遵循这个。
允许脚本更改 状态栏文本,用户必须设置 dom.disable_window_status_change 偏爱于假 about:config screen。