我正在尝试向使用 jQuery
的网站添加一些现有功能(我希望获得与 live()
一起使用的 draggable
功能>).
我找到了一些可以实现此目的的代码,但我无法使其正常工作。
(function ($) {
$.fn.liveDraggable = function (opts) {
this.live("mouseover", function() {
if (!$(this).data("init")) {
$(this).data("init", true).draggable(opts);
}
});
};
}(jQuery));
我在加载 jQuery
和 jQuery UI
之后添加了代码,然后在我实际使用它做任何事情之前,但是,当我尝试使用它时,我得到了以下错误:
$('.myclass').liveDraggable({}) is undefined.
有人可以帮忙吗?
最佳答案
你的代码工作正常。 $('.myclass').liveDraggable({})
将返回 undefined
因为没有 return 语句。通常,您希望返回此
,以便可以链接调用。
(function ($) {
$.fn.liveDraggable = function (opts) {
return this.live("mouseover", function() {
if (!$(this).data("init")) {
$(this).data("init", true).draggable(opts);
}
});
};
}(jQuery));
现在您可以将其与其他 jQuery 方法链接起来。
$('.myclass').liveDraggable({}).live('click', function(){
// code
});
关于jquery - 扩展 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6830445/