假设我有这个:
<body>
<input type="text" onblur="myFunction()" />
<... rest of page ...>
</body>
<script type="text/javascript">
function myFunction()
{
//this function alerts over what element your mouse is when the input loses focus
}
</script>
Run Code Online (Sandbox Code Playgroud)
有人知道如何实现这个吗?
您可以跟踪鼠标悬停在哪个元素上,如下所示:
<input type="text" id="myInput" onblur="myFunction()" />
Run Code Online (Sandbox Code Playgroud)
var input = document.getElementById('myInput'), // Get the input element
focus;
input.onmouseover = input.onfocus = function(){focus = true;}; // Set focus to true if the input gains focus
input.onmouseout = input.onblur = function(){focus = false}; // Set focus to false if the input loses focus
document.body.onmousemove = function(e){
if(!focus){ // Only log the target is the input doesn't have focus
console.log(e.target); //Log the current element the mouse is hovering over.
}
};
Run Code Online (Sandbox Code Playgroud)
据我所知,没有准确的方法来检查鼠标在"mouseleave"或"blur"事件上的当前目标,因为event.target这些函数将指向鼠标刚刚离开的元素,而不是鼠标当前悬停在其上的元素。
编辑:
我添加了一些代码,因此它仅在输入没有焦点时才记录。
| 归档时间: |
|
| 查看次数: |
1536 次 |
| 最近记录: |