javascript - 光标跟随 <div> - 鼠标向下或向右移动时消失

标签 javascript jquery html css

我正在尝试使用 this method将 div 设为 fadeIn当用户将鼠标悬停在文本字段上时,该文本字段会告诉他们该字段中包含哪些类型的信息。我有<div>如果用户向上向左移动鼠标,则在文本字段中跟随光标,但当我向下移动鼠标时>右<div>运动过程中消失,鼠标停止时重新出现。 Here is a JSFiddle showing my relevant code and the odd behavior it's yeilding .

$(document).ready(function() {
    $(document).bind("mousemove", function(e) {
        $(".hover").css({
            "left" : e.pageX,
            "top" : e.pageY
        });
    });
    $(".num").hover(function() {
        $(".hover").stop().html("Enter a number").delay(500).fadeIn(150);
    }, function() {
        $(".hover").stop().hide();
    });
});
.hover {
	display: none;
	position: absolute;
	float: left;
	font-family: Calibri, sans-serif;
	font-size: 0.7em;
	background-color: rgb(255,255,230);
	border: 1px solid black;
	-webkit-box-shadow: 0 0 2px rgba(0,0,0,0.4);
	box-shadow: 0 0 2px rgba(0,0,0,0.4);
	padding: 1px 3px;
	z-index: 50;
}
input {
    margin: 30px;   
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class='hover'></div>
<input type="text" class="num" size="2">
我尝试过应用相同的.hover()我对网页中的其他元素进行了 JQuery 方法,以查看将其应用于文本字段是否存在问题,但向下/向右消失的行为仍然存在。

在我的完整代码中,悬停的 <div>当用户第一次将鼠标悬停在产生效果的元素上时动态创建,但我无法让该方面工作是 JSFiddle。

由于其他人似乎很容易产生这种效果,因此我不仅想知道如何实现正确的行为,而且还想了解为什么我的尝试结果如此不稳定。

最佳答案

基本上,如果您的鼠标移到 .hover 叠加层上,它会在鼠标下方的元素上生成悬停“out”。向左/向右移动鼠标会使光标在覆盖的 div 上移动和移动。

pointer-events: none; 添加到您的 .hover 样式中。这将阻止它对鼠标可见并避免在 .hover 上生成任何事件:

http://jsfiddle.net/4ba70vy3/6/

.hover {
    pointer-events: none;
    display: none;
    position: absolute;
    float: left;
    font-family: Calibri, sans-serif;
    font-size: 0.7em;
    background-color: rgb(255, 255, 230);
    border: 1px solid black;
    -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
    padding: 1px 3px;
    z-index: 50;
}

更新:如果 .hover 位于鼠标下方,垂直移动也会导致同样的问题。

http://jsfiddle.net/4ba70vy3/7/

此外,正如 DevlshOne 所建议的那样,您不妨在控件上使用 title= 属性,也许只为旧版浏览器执行您的操作?

关于javascript - 光标跟随 <div> - 鼠标向下或向右移动时消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25936334/

相关文章:

jquery - 将 HTML 字符串转换为 jQuery 对象然后通过它进行解析的问题

javascript - CKEditor 通过 js 启用/禁用按钮

javascript - 在 DOM 元素内部选择

javascript - 如何使用 JavaScript 获取 HTML 中 <div> 中包含的 Paragraph 元素的值

javascript - 如何在不使用 + 的情况下将 var 附加到 var.src

javascript - 有没有办法使用 gulp 删除 require.js Define([...]) 包装器的所有实例?

javascript - 将对象添加到为表单定义的变量中

javascript - _.debounce 函数在多个输入上的奇怪行为

javascript - 在 IONIC 中使用 cordova-plugin-geolocation 打开地理定位

php - 如何在Javascript中动态设置数组?