我正在使用jquery.webui-popover.js
插件。我已经使用以下代码:
$('.button').webuiPopover({
placement: 'bottom',
title: 'Link Item to Button',
content: '123',
animation: 'pop',
delay: {
show: null,
hide: 300
},
});
但是我试图将它包装在我自己的函数中,因为我在代码中的不同时间在多个元素上调用它。我已将其更改为:
function AddCreatePopoverBinding(element) {
element.webuiPopover({
placement: 'bottom',
title: 'Link Item to Button',
content: '123',
animation: 'pop',
delay: {
show: null,
hide: 300
},
});
}
然后使用以下代码在我的代码中进一步调用它:
$('.button').AddCreatePopoverBinding();
但是我收到以下错误:
未捕获TypeError:$(...)。AddCreatePopoverBinding不是函数
我做错了什么?我尝试使用.each语句调用该函数,但也失败了。
答案 0 :(得分:3)
作为 A。 Wolff 说,你需要所谓的jQuery Plugin才能做到这一点,即将你的函数添加到jQuery名称空间中:
$.fn.AddCreatePopoverBinding = function() {
return this.webuiPopover({
placement: 'bottom',
title: 'Link Item to Button',
content: '123',
animation: 'pop',
delay: {
show: null,
hide: 300
},
});
}
那也应该允许chaining:
var button = $('.button').AddCreatePopoverBinding();
console.log(button.text());
答案 1 :(得分:1)
您可以这样调用您的函数:
AddCreatePopoverBinding($('.button'));