Cha*_*lle 6 javascript jquery text dom hover
我真正想要的是检测光标何时更改为“文本”类型,即何时将鼠标悬停在一段文本上。我尝试查看我悬停的元素类型,但这不太准确,因为我不知道它们实际包含什么。
据我所知,只有我之前指定了 CSS 光标属性,才可以检测到该属性。
这有可能吗?你会怎样做呢?
编辑:我不想检查如果我当前位于特定元素上,我想知道我是否将鼠标悬停在该元素内的任何文本上。div 可以是浏览器的 100% 宽度,但最左侧有较短的文本。我不想检测何时将鼠标悬停在元素的任何部分上。
无需尝试检测光标是否发生变化。
您可以使用这种构造简单地检测鼠标是否悬停在文本上:
document.getElementById('myTextId').onmouseover = function() {
// do something like for example change the class of a div to change its color :
document.getElementById('myDivId').className = 'otherColor';
};
Run Code Online (Sandbox Code Playgroud)
如果您没有 id,但有类或标记,则可以将 getElementById 替换为 getElementsByClassName 或 getElementByTagName(这将返回您要迭代的数组)。
如果你想在离开元素时恢复颜色,我建议你以同样的方式绑定事件onmouseout。
例如,如果您想对任何段落执行某些操作,您可以这样做:
var paras = document.getElementByClassName('p');
for (var i=0; i<paras.length; i++) {
paras[i].onmouseover = function() {
// do something like for example change the class of a div to change its color :
document.getElementById('myDivId').className = 'otherColor';
};
}
Run Code Online (Sandbox Code Playgroud)
如果你打算做很多这样的事情,我建议你看看 jquery 及其教程。