Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQueryUI.延续悲哀_Javascript_Jquery_Jquery Ui - Fatal编程技术网

Javascript jQueryUI.延续悲哀

Javascript jQueryUI.延续悲哀,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我正试图找出如何修复jQueryUI 1.8.5和jQuery1.5.1的代码,但我对这些高级的东西不太走运,有人能帮我一下吗 以下代码存在问题: $.extend($.ui.boxer, { defaults: $.extend({}, $.ui.mouse.defaults, { appendTo: 'body', distance: 0 }) }); 由于某些原因,它不会使用appendTo和distance值初始化选项。该部分似乎正在工作

我正试图找出如何修复jQueryUI 1.8.5和jQuery1.5.1的代码,但我对这些高级的东西不太走运,有人能帮我一下吗

以下代码存在问题:

$.extend($.ui.boxer, {
    defaults: $.extend({}, $.ui.mouse.defaults, {
        appendTo: 'body',
        distance: 0
    })
});

由于某些原因,它不会使用appendTo和distance值初始化选项。

该部分似乎正在工作(我调试了它,并确保appendTo的说法与预期一致)。有一个警告,提示tmp变量被使用了两次,因此我修复了该警告。有了这一变化,演示程序似乎正在按照我认为应该的方式工作。有什么问题吗


虽然我以前没有使用过jQuery UI,但我还是尝试了一晚上。在JSFIDLE中显示的代码似乎有两个问题。首先,在UI 1.8中,创建小部件时不再需要进行扩展

$.widget("ui.boxer", $.ui.mouse, {
    ...
});
切换到这种声明小部件的新样式时,
this.\u mouseInit()
的错误消失了。在我们解决您提出的问题之前,我们需要这样做,这就是为什么默认设置不起作用。在这次提交中,
ui.mouse.defaults
被替换为
options
。由于
options
是小部件的一部分,您现在必须扩展原型

$.extend($.ui.boxer.prototype, {
    options: $.extend({}, $.ui.mouse.prototype.options, {
        appendTo: 'body',
        distance: 0
    })
});

这些变化产生了一些有效的结果()。顺便说一句,这段代码的功能非常棒:)。

它之所以有效,是因为它使用了jQuery 1.3.2和jQueryUI 1.7.2,而不是1.5.1和1.8.5。我在最后两个版本中修复它时遇到了问题。我明白了,也许会发布一个关于它损坏的帖子,这样我们就可以调试它了。但我的建议是调试它并进入该函数。ui.defaults可能只是在1.8.x中看起来有所不同,这一行似乎有问题:
this.\u mouseInit()这很有意义,因为没有声明mouseInit。太棒了,我回来后会试一试!