jQuery插件(气泡弹出):如何使它不污染我的文档主体与不可移动的垃圾
grumble.js, jQuery plugin (Bubble popups): how to make it not polute my document body with unremovable trash?
我想显示一个弹出许多点击。我希望这么多的人都在泡沫里。所以我在这里做了一个演示。但是我使用的Bubble生成器插件在每次显示弹出窗口时都会在DOM中保留大量垃圾。所以我尝试通过
来销毁垃圾 $('.grumble-text').remove();
$('.grumble').remove();
$('.grumble-button').remove();
但它以某种方式刹车它=(所以如何改变嘟囔气泡弹出插件代码,使其要么保持DOM干净或至少使插件独立于垃圾它创建?
我最近更新了插件,以提供更好的控制定位和角度。这个更新也使抱怨持续存在,在一个元素上多次调用插件将不会创建额外的剩余DOM。
尝试更新到最新的代码。下面的代码现在应该可以正常工作了。
var html = ''
+'<a href="#me" target="_blank">Download me</a>'
+'<br/>'
+'<a href="#edit">Edit me</a>'
+'<br/>'
+'<a href="#delete">Delete me</a>';
var $grumble = $('#grumble3');
$grumble.mouseup(function(eventObj) {
$grumble.grumble({
text: html ,
angle: (Math.random() * 360 + 150),
distance: 30,
hideOnClick: true,
onShow: function() {
$grumble.addClass("hilight");
},
onBeginHide: function() {
$grumble.removeClass("hilight");
}
});
}).mousedown(function() {
$grumble.addClass("hilight");
});
谢谢你的兴趣。如果有任何进一步的问题,请在github页面上以bug的形式提出。https://github.com/jamescryer/grumble.js
在onHide
回调中使用grumble
和button
参数,如下所示:
$('#grumble').grumble({
text: 'Whoaaa, this is a lot of text that i couldn''t predict',
angle: 85,
distance: 50,
showAfter: 4000,
hideAfter: 2000,
onHide: function(grumble, button) {
grumble.bubble.remove();
grumble.text.remove();
button && button.remove();
}
});
这允许您仅删除与特定工具提示/弹出/气泡相关的"垃圾"(我更喜欢"剩菜")。注意,button
仅在hasHideButton
为true
时存在,因此检查button &&
是否存在。
为什么要删除它?"垃圾"是否会导致浏览器性能问题?
一般来说,要做到这一点,唯一的方法是深入到插件源代码中,并添加一个函数来删除插件,如果插件不存在的话。如果您只是删除相关的DOM元素,您将留下对它们的引用和访问它们的事件处理程序。
相关文章:
- 如何通过谷歌应用程序脚本从谷歌文档中的位置确定命名范围
- Javascript em根据窗口/视口尺寸调整大小,不影响文档样式的text/css
- 如何确保通过电子邮件发送的html文档中的Google Drive链接不会被识别为附件
- 匹配文档中的项目
- 使用jQuery访问元素'来自谷歌文档托管的iframe的文本
- 如何在XSLT文档中的javascript中使用AND运算符
- 访问 HTML 文档中的 HTML
- 用于修改文档元素的 PHP 代码
- 文档中的多个条件语句
- 通过javascript拦截文档中的每一次点击
- 我可以在不使用XMLHttpRequest或文档对象的情况下使用Javascript来获取网页吗
- 为什么 Meteor 更新会覆盖我的文档中的现有属性
- “compilation_error”在我的 CouchDB 设计文档中的列表函数中
- 我可以使用 JavaScript 来更改 HTML 文档访问的 JavaScript 文件吗?
- 嵌入在HTML文档中的JavaScript在作为文档发送到我的Kindle Fire时会执行吗?
- 如果我单击文档中的任何其他 HTML 控件,tabIndex 将无法正常运行
- 我可以保留一个文档片段的引用吗
- 谷歌云端点文档之间的差异,以及在我的应用程序中的工作
- 是否有一个库可以帮助我格式化 html 文档中的数据
- 我怎样才能像Firebug那样看到iframe文档中的元素呢?