我正在尝试向使用jQuery
的网站添加一些现有功能(我希望draggable
功能使用live()
)。
我发现了一些代码,但是我无法让它工作。
(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.
有人可以帮忙吗?
答案 0 :(得分:4)
您需要包含用于此工作的jQuery UI脚本(不仅仅是核心jQuery),另请参阅here。
看起来这段代码来自这个SO线程,它也有一些用法示例:jQuery Drag And Drop Using Live Events
答案 1 :(得分:4)
您的代码运行正常。 $('.myclass').liveDraggable({})
将返回undefined
,因为没有返回语句。通常,您希望return this
,以便您可以进行电话连接。
(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
});