当鼠标空闲时强制 Chrome 光标更新原版 JavaScript
Force Chrome cursor update when mouse-idling vanilla javascript
我有一个与此链接相关的类似问题:
https://code.google.com/p/chromium/issues/detail?id=26723
当出现新的div 并且鼠标不移动时,光标不会在 Chrome 40 中更新。Chrome 问题列出了一些解决方法,但我无法让它们与我的代码一起使用。还有一些堆栈溢出问题列出了这个问题,但他们没有用vanilla javascript修复这个特殊情况。
.HTML:
<div id ="d">
Hello
</div>
.CSS:
div#d {
width: 100px;
height: 100px;
background-color: red;
}
div.curs {
cursor: pointer;
height: 80px;
background-color: grey;
}
.JS:
setTimeout(function(){
var div = document.getElementById('d');
div.innerHTML = div.innerHTML + '<div class="curs">World</div>';
}, 5000);
对于这种特殊情况,最简单的原版javascript解决方法是什么?
小提琴 : http://jsfiddle.net/2zh90st6/
在 Google Chrome v42 上,您可以通过更改当前光标下方元素的光标样式或此元素的任何祖先来计划光标更新。请注意,在新元素添加到 DOM 后,光标样式必须更改。
var container, overlay;
container = document.getElementById('container');
setTimeout(function() {
overlay = document.createElement('div');
overlay.id = 'overlay';
container.appendChild(overlay);
// Change container cursor from 'auto' to 'default',
// to schedule cursor update while hovering overlay
container.style.cursor = 'default';
}, 5000);
#container {
position: relative;
padding: 10px;
cursor: auto;
background: #7FDBFF;
color: #001F3F;
width: 100px;
height: 100px;
}
#overlay {
cursor: pointer;
width: 100px;
height: 100px;
background: #001F3F;
color: #7FDBFF;
position: absolute;
top: 10px;
left: 10px;
}
<div id="container">
Hover me and wait for a dark overlay.
</div>
您链接到的 chromium 问题,问题 26723:鼠标空闲时鼠标光标不会更改,目前似乎非常活跃,因此希望这种解决方法不会长期存在。
嗯,
这很有趣。无论哪种方式,触发正文光标的变化,似乎都可以在Chrome v42中解决问题:
setTimeout(function(){
var div = document.getElementById('d');
div.innerHTML = div.innerHTML + '<div class="curs">World</div>';
document.body.style.cursor = 'default';
}, 5000);
相关文章:
- Chrome WebKitGetUserMedia
- JQueryhide()不适用于Mozzilla,但适用于Chrome
- JQuery BlockUI鼠标加载光标没有't在Google Chrome中返回默认值
- 无法在Chrome控制台中使用javascript将焦点和光标设置为输入文本
- 在Chrome中,光标位置异常地位于输入值的末尾
- 谷歌Chrome元素仍然存在:即使从光标移开,也要悬停
- 当鼠标空闲时强制 Chrome 光标更新原版 JavaScript
- CKEditor光标在Chrome中的焦点上不闪烁
- 将图片拖放到 Chrome 中可编辑的内容光标处
- 将光标悬停在电子邮件地址上的 Chrome 扩展程序操作
- 如何在chrome浏览器中的输入字段中使用只读属性时启用光标移动
- 使用AjaxStop事件(在Chrome中)完成ajax调用后,将等待光标更改为默认(自动)
- 当使用css after时,嵌套内容可编辑结构中的chrome中没有出现光标
- 编辑光标未显示在 Chrome 上的内容可编辑中
- 如何修复用户界面问题时,光标设置为文本框的最后位置在chrome
- 将光标属性重置为“抓取”;不工作在Chrome浏览器
- Chrome (WINDOWS)在提示消息后缺少光标
- 当点击调用history.pushState()的链接时,防止在Chrome中更改光标
- 在Chrome中单击并拖动光标
- 在 Chrome 中拖动时锁定鼠标光标