我正在使用cluetip jQuery插件。
我正在尝试添加自己的关闭按钮。我试图打电话的jquery是:
$(document).bind('hideCluetip', function(e) {
cluetipClose();
});
通过代码和jquery插入的按钮使用cluetipClose()有很多引用,并且工作方式使得我知道函数可以正常工作。
我正在尝试使用
触发它$('a.close-cluetip').trigger('hideCluetip');
我创建了我的链接:
<a href="#" class="close-cluetip">Close</a>
但它没有做任何事情。
我是否错误地称呼它?
答案 0 :(得分:1)
这里的问题是在cluetip插件中,函数clueTipClose()
在一个闭包内,所以除非你在闭包内(即在插件的代码中),否则你无法访问它。现在我必须承认,这个插件似乎并没有被设置为可扩展性。如果他们通过为使用它的每个元素设置的“clueTip”对象来访问这个函数,你就可以在闭包的末尾添加另一个jQuery方法,如下所示:
$.fn.cluetipClose = function() {
return this.each(function() {
var thisCluetip = findCluetipObj(this);
if (thisCluetip)
thisCluetip.cluetipClose();
});
};
但是你有幸不能轻易做到这一点。看起来这个人在闭包内写了他的jQuery插件,里面有非OO代码。可怜你。
现在好的方面,似乎这个插件在实例化cluetipClose()
函数后已经直接运行了这段代码。您是否尝试过使用代码执行此操作:
$('a.close-cluetip').trigger('hideCluetip');
没有重新声明文档hideCluetip
绑定?我认为这应该可行。