我正在使用此代码获取游标类型(使用jQuery):
$('*').mouseenter(function(){
var cursor = $(this).css('cursor');
console.log(cursor);
});
但是在某些元素上它打印auto
(这是默认选项,意味着浏览器确定光标类型)。
我需要能够知道浏览器在这些情况下实际显示的内容(例如pointer
,resize
等。)
例如:对于链接元素(tagName = A),它会打印“auto”,但会显示“指针”。
如何知道最终会在特定浏览器上显示哪种光标类型?换句话说,如何判断浏览器将选择哪种光标类型?
这种行为是否记录在某处?
答案 0 :(得分:1)
这是determined by the user agent (=browser),它使用特定于平台的默认光标作为您当前悬停的元素。
通用游标
的 '自动' 强>
UA根据当前上下文确定要显示的光标,具体为:auto表现为文本上的文本,否则为默认值。
因此,在css中将光标设置为auto时,您无法确定光标的外观。
我猜测应该有一个概述,哪个html元素接收哪个光标类型,所以你可以根据元素类型决定,但我在网上找不到任何东西。此外,无法保证某个浏览器实际上会使用该游标,因为auto
为他们提供了免费的统治,这是一种使用哪种游标类型。
控制此操作的唯一选择是明确地将光标设置为特定类型。 (另外,我会对您需要的详细用例感兴趣。)
答案 1 :(得分:0)
浏览器会将您的cursor
确定为auto
,因为您的代码从未指定过它。如果你想得到当前的cursor
,你必须明确地为你要检查的每个元素在CSS或HTML中设置它。
a {
cursor: pointer;
}
指定后,.css('cursor')
将返回其类型。