Javascript jQueryUI.延续悲哀
我正试图找出如何修复jQueryUI 1.8.5和jQuery1.5.1的代码,但我对这些高级的东西不太走运,有人能帮我一下吗 以下代码存在问题: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值初始化选项。该部分似乎正在工作
$.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。太棒了,我回来后会试一试!