实时更改jQuery Tipsy插件gravity
Change jQuery Tipsy plugin gravity on live
我正在使用jQuery Tipsy插件,我想知道是否可以动态更改重力。
我一直在尝试,但没有成功:http://jsfiddle.net/YSYuu/
这是代码:
$('[data-demo]').tipsy({
title: 'data-demo',
gravity: 'n'
});
//changing it on real time
$('.demo').click(function () {
$('[data-demo]').tipsy({
title: 'data-demo',
gravity: 's'
});
alert("Gravity changed");
});
问题是,为了提高速度,tipsy将事件绑定到特定元素上,而插件中没有解除绑定事件。你可以做的是克隆你的元素;这可能是唯一的办法。(插件限制)。
解决方案如下:
$('.text').tipsy({
title: 'data',
gravity: 's'
})
$(".demo").on("click", function(){
$(".text").remove().clone().appendTo("body").tipsy({
title: 'data',
gravity: 'n'
})
});
JSFiddle:http://jsfiddle.net/javascript/YSYuu/3/
当然,你会把它附加到与原来完全相同的位置。要获取其位置,可以使用$(this).parent().children().index(this)
,然后附加$("#whatever li:eq(2)").after("...");
克隆元素,然后移除原始元素。然后添加重力变化的克隆,如下所示:
$('.demo').click(function () {
var el = $('[data-demo]');
var clone = $(el.clone());
el.before(clone);
el.remove();
clone.tipsy({
title: 'data-demo',
gravity: 's'
});
alert("Gravity changed");
});
jsFiddle
您可以在创建工具提示后通过访问tipsy的配置数据来更改重力:
$('[data-demo]').data('tipsy').options.gravity = 's';
我测试了gravity
和title
,结果良好:http://jsfiddle.net/mikeular/h5y14qe3/6/
相关文章:
- 如何在Angular2中使用jQuery插件
- 可以前端maven插件使用节点,npm已经安装
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- 我的jQuery插件参数没有正确启动,遇到了问题
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- TableExport jquery插件:文件名和扩展名问题
- 如何在使用selectBoxIt JQuery插件时检测选项更改
- jQuery插件-从插件中调用公共方法
- 压缩phonegap中ios的图像插件
- jQuery粘性插件可变顶部间距
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 高亮显示与数组字符串一起使用时文本插件中断
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- Wordpress插件根据需要加载js和css
- jQuery Wan Spinner插件的多个字段
- jQuery Facebox插件:关注弹出的外观
- CKEditor v4:自制插件中对话框的动态标题
- Jquery标签插件粘贴问题
- 实时更改jQuery Tipsy插件gravity