我正在使用jQuery Tipsy plugin我想知道是否可以动态改变重力。
我一直在尝试但没有成功: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 在特定元素上绑定(bind)事件以提高速度,并且在插件内没有取消绑定(bind)事件。你可以做的是克隆你的元素;这可能是唯一的方法。 (插件限制)。
解决方案如下:
$('.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("...");
关于javascript - 实时更改 jQuery Tipsy 插件重力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17674860/