- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我们所有的页面上,顶部都会显示一条重要消息。页面加载时,该消息看起来像浅灰色背景下的纯红色文本(与页面的其余部分相同)。如果用户想要更新它,他们可以单击它并调用 editMsg
函数,这使得它看起来像常规文本输入,并且一个 Save 按钮将出现在对。
如果用户将鼠标移到封闭的 div 之外,将所有内容恢复到其原始外观,我的任务是取消更新。我尝试了 onBlur
但我似乎无法让它做任何事情!
这看起来很简单,但如果我将鼠标移到文本输入之外但仍在 div 中,它会调用 cancelMsgChg
函数。我尝试了 cancelBubble
(IE) 和 stopPropagation
(Firefox) 的几种变体,但没有成功。事实上,如果它们位于不同的元素中,我不明白为什么我需要它们。
HTML 是:
<div id="update_message" onMouseOut="cancelMsgChg('onMouseOut');" >
<br />
<input id="message" onclick="editMsg();"
type="text" value="My message"
style="background:#DDDDDD; color:#DD0000; font-weight:bold; border:0;" />
<button id="save_message" style="display:none;"
class="btn" onclick="return saveHeaderMsg('Save Header Message',
document.getElementById('message').value);">Save Message</button>
<br /><br />
</div>
更新:
我从 div 标记中删除了 onMouseOut
事件,并添加了一个事件监听器,用于在 div 外部单击鼠标时:
if (document.addEventListener) {
document.addEventListener("click", cancelMsgChg('click'), false);
} else if (document.attachEvent) {
// IE
document.attachEvent("onclick", cancelMsgChg('onclick'), false);
}
function cancelMsgChg(e) {
console.log ("in cancelMsgChg");
// In Internet Explorer you should use the global variable `event`
e = e || event;
// In Internet Explorer you need `srcElement`
var target = e.target || e.srcElement;
var id = target.id;
console.log ("id = " + id);
if ( id != "update_message" ) {
//reset everything
}
}
但我收到“目标未定义”错误。那么... e
根本没有定义?
最佳答案
模糊对您没有任何作用,因为您没有使用任何表单元素(输入、选择、文本区域)。
即使鼠标移动到 div 内的元素之一,也会触发 mouseOut 事件。当 mouseOut 事件被触发时,您可以检查鼠标的移动方向,看看它是否正在进入这些封闭的 div 之一。请参阅http://www.quirksmode.org/js/events_mouse.html了解更多信息。
关于javascript - onMouseOut 事件发生在错误的元素中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14286115/
我有这个脚本: $(document).ready(function(){ $('.infoLink').hover(function(){ $('.s
我有一个图像,当用户将鼠标悬停在图像上时,该图像会更改为新图像。单击新图像后,就会播放音频文件。当用户鼠标移出图像时,图像将恢复为默认图像。问题是音频仍在播放。我不太擅长js,当用户鼠标移出时如何让音
在尝试根据以下教程实现下拉菜单时,我遇到了一个奇怪的问题:http://www.webchief.co.uk/blog/simple-jquery-dropdown-menu/index.php当我的
所以我有一个带有 3 个圆圈的导航和一个 jquery slider 。 默认情况下,第一个圆圈点亮,当用户点击第二个圆圈时, slider 移动到第二个 div,然后那个圆圈点亮,第一个圆圈变暗。这
如何在 onmouseout 时关闭组合框? Volvo Saab Mercedes Audi 最佳答案 你不能(可靠地)做到这一点。出现的弹出窗口无法以编程方式进行操作,即打开或关闭,其
因此,当您将鼠标悬停在 article 元素上时,这段代码会播放一段音频。问题是当鼠标悬停在子元素上时它会停止。当鼠标悬停在一般 article 元素上并悬停在子元素上时,如何使 Stopsound
我正在尝试显示/隐藏按钮中的一些 文本。按钮是 S.O.S javascript代码是 function show() { sos_left=docu
所以这是一个非常简单的问题,但研究它,我只能找到更复杂情况的答案。这是我的: 我在母版页上有一张图片,当您将鼠标悬停在它上面时,它下方会显示一个面板(主要使用 css)并且该面板中有链接。因为母版页相
我目前正在将我网站的菜单从纯 JavaScript 切换到 jQuery。我的菜单有滚动效果。 菜单有一个外包装,其中设置了一个 onmouseout 事件。如果触发,则检查 relatedTarge
我正试图将鼠标悬停在上面以调出一个菜单。我的 javascript 工作得有点正确。当我将鼠标悬停在链接或菜单上时,菜单保持显示状态。但是,当我鼠标移出时,我遇到了问题。我的菜单 div 按原样消失了
在 Javascript 中,我希望 onmouseout 事件在生效之前休眠/暂停/等待/(不确定这里的术语是否正确)三秒钟。这是如何实现的? 谢谢 最佳答案 function outfunctio
我有一个悬停元素,当用户将鼠标悬停在它上面时,将从隐藏元素中获取文本,当它悬停时,它将重新分配其先前的值。 我的 html 有点像这样。 Hover Here Lorem ipsum dolor
基本上我将翻转从我的 css 转换为 javascript。我还选择了其中一张页面加载后要选择的图片。但是我在处理 onMouseOut 事件时遇到了麻烦。除了那张照片,一切都很完美。当我将鼠标悬停在
我有一个 iframe #viewer 和一个出现在其上方的绝对定位元素 #appear_above_viewer。我希望 #appear_above_viewer 在鼠标经过 #viewer 时淡入
我有这个 html: 这个 javascript 函数: function pinkImg(x) { x.innerHTML = ''; } function
在我们所有的页面上,顶部都会显示一条重要消息。页面加载时,该消息看起来像浅灰色背景下的纯红色文本(与页面的其余部分相同)。如果用户想要更新它,他们可以单击它并调用 editMsg 函数,这使得它看起来
我有一个要求,我必须根据 mouseover 和 mouseout 事件显示替代元素。 默认元素是一个超链接(它会一直显示,除了在鼠标悬停时),备用元素是一个下拉列表元素(它应该在超链接的鼠标悬停时显
我试图弄清楚如何清除 JavaScript onmouseleave 事件上特定 HTML ID 的内容。我的 onmouseover 工作得很好,但 onmouseout 却不行。 这是一个导航栏(
这是它不起作用的部分: function showDetailedView(element) { var img = document.getElementById(element); img
我一直在尝试做的是我有一个框,其中显然包含文本,我希望每当它悬停时,删除当前内容并添加另一个内容,当它悬停时,取回旧的。正如您所意识到的那样,我的尝试进行得并不顺利,我想知道什么是 exacy 问题。
我是一名优秀的程序员,十分优秀!