作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我找到了一个名为 Clippy.js 的精巧的小型 JS 库使您可以在浏览器中实现 Microsoft Word 的旧虚拟助手。玩了一会儿后,我意识到文本气球有一个 setTimeout()
方法和一个导致它消失的时间延迟。
hide:function (fast) {
if (fast) {
this._balloon.hide();
return;
}
this._hiding = window.setTimeout($.proxy(this._finishHideBalloon, this), this.CLOSE_BALLOON_DELAY);
},
_finishHideBalloon:function () {
if (this._active) return;
this._balloon.hide();
this._hidden = true;
this._hiding = null;
},
我不想这样。我希望气球在用户点击时消失。我尝试通过将 this._hiding = ...
替换为以下内容来注册事件监听器:
var clickToHide = document.getElementsByClassName('clippy-balloon');
this._hiding = clickToHide.addEventListener('click', function(){$.proxy(this._finishHideBalloon, this)});
...但它所做的只是完全隐藏气球。为什么那不起作用?我如何实现我想要的功能?
最佳答案
我认为延迟是由变量 CLOSE_BALLOON_DELAY
引起的。将 this.CLOSE_BALLOON_DELAY
更改为 0
应该可以解决问题。
关于javascript - 如何使用 Clippy.js 在单击而不是超时时隐藏元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30795308/
我是一名优秀的程序员,十分优秀!