未捕获的TypeError:对象[object Object]没有方法'对话框'

时间:2012-08-17 15:23:50

标签: jquery jquery-ui

我知道很多人都遇到过这个问题,而且我已经看到了这些人的参考重复。但对我来说,我无法看到任何重复的东西。

这是我的代码:

HTML

<title>The HUB</title> <link rel="stylesheet" href="/css/styles.css" type="text/css" /> 
<link rel="stylesheet" href="/css/jquery.ui.all.css"> 
</head> 
<body> 
<script type="text/javascript" src="/js/jquery-1.6.2.min.js"></script> 
<script type="text/javascript" src="/js/hub.js?n=1"></script> 
<script type="text/javascript" src="/js/testSignal.js"></script>  
<script type="text/javascript" src="/js/ui/jquery.ui.core.js"></script> 
<script type="text/javascript" src="/js/ui/jquery.ui.widget.js"></script>  
<script type="text/javascript" src="/js/ui/jquery.ui.mouse.js"></script>  
<script type="text/javascript" src="/js/ui/jquery.ui.draggable.js"></script> 
<div id="wrapper"> ....  <div id="dialog"><p>Some Text</p></div></div>

的jQuery

$(document).ready(function(){
    $("#dialog").dialog({ autoOpen: false });
    $("#testSignalBtn").click(function(){
        $("#dialog").dialog("open");
        return false;
    });
});

我尝试重新排序所有javscript文件,启用一些而不是其他等等,它似乎不起作用。文件 hub.js?n = 1 确实使用jQuery并且没有问题。 - 这不是我写的文件,我从其他人手中接过这个文件。我试过禁用该文件,但我仍然遇到同样的问题。

以下是其他人对同一事情所说的内容:Uncaught TypeError: Object [object Object] has no method 'dialog'以及此处:jQuery Uncaught TypeError: Object[object Object] has no method slider

3 个答案:

答案 0 :(得分:7)

dialog一样,

draggable是一个小部件。如果您想使用它,您必须包含它:

<script type="text/javascript" src="/js/ui/jquery.ui.dialog.js"></script>  

答案 1 :(得分:6)

不要拥有所有这些单独的文件,只需包含整个jQuery UI CDN链接:

<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.22/jquery-ui.min.js"></script>

只是在小提琴中尝试过,你所拥有的一切都很好,它必须是一个缺失的.js文件。

http://jsfiddle.net/nU5TF/

答案 2 :(得分:0)

正如上面提到的pimvdb,dialog是一个小部件。但是,许多项目不使用单独的小部件包含文件,而是使用一个可自定义的编译和缩小版本。要确保构建中包含对话框小部件,请在文本编辑器中打开jquery-ui.js文件:标题会告诉您包含哪些组件,如下所示:

/*! jQuery UI - v1.10.0 - 2013-02-14
* http://jqueryui.com
* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js
* Copyright (c) 2013 jQuery Foundation and other contributors Licensed MIT */

在我的情况下,除了对话框小部件之外几乎所有内容都包括在内。