Javascript 错误:TypeError:$(…)。对话框不是函数
我在使用对话框作为基本功能时遇到了一个问题。以下是我的jQuery源导入:Javascript 错误:TypeError:$(…)。对话框不是函数,javascript,jquery,jquery-ui-dialog,Javascript,Jquery,Jquery Ui Dialog,我在使用对话框作为基本功能时遇到了一个问题。以下是我的jQuery源导入: <script type="text/javascript" src="scripts/jquery-1.9.1.js"></script> <script type="text/javascript" src="scripts/jquery-ui-1.11.1.js"></script> <script type="text/javascript" src="scr
<script type="text/javascript" src="scripts/jquery-1.9.1.js"></script>
<script type="text/javascript" src="scripts/jquery-ui-1.11.1.js"></script>
<script type="text/javascript" src="scripts/json.debug.js"></script>
Html:
打开对话框
我是一个对话者
$(“#开场白”)。单击(函数(){
$(“#dialog1”).dialog('open');
});
从周围的帖子看,这似乎是一个图书馆导入问题。我下载了jQueryUI核心、小部件、鼠标和位置依赖项
有什么想法吗?请务必插入jQuery UI的完整版本。您还应首先初始化对话框:
$(函数(){
$(“#对话框1”)。对话框({
自动打开:错误
});
$(“#开场白”)。单击(函数(){
$(“#dialog1”).dialog('open');
});
});代码>
打开对话框
我是一个对话框
如果您从\u Layout.cshtml
页面注释掉以下代码,模式弹出窗口将开始工作:
</footer>
@*@Scripts.Render("~/bundles/jquery")*@
@RenderSection("scripts", required: false)
</body>
</html>
@*@Scripts.Render(“~/bundles/jquery”)*@
@RenderSection(“脚本”,必需:false)
如果出于某种原因加载了两个版本的jQuery
(不推荐),则从第二个版本调用$。noConflict(true)
将全局范围的jQuery
变量返回到第一个版本的变量
有时,较旧版本(或不稳定版本)的JQuery
文件可能会出现问题
解决方案使用$.noConflict()代码>
$.noConflict();
jQuery(文档).ready(函数($){
$(“#开场白”)。单击(函数(){
$(“#dialog1”).dialog('open');
});
});
//使用其他库的$的代码可以在这里找到。
我刚刚体验了这一行:
$('<div id="editor" />').dialogelfinder({
$('').dialogelfinder({
我收到错误“dialogelfinder不是函数”,因为另一个组件在加载较新版本的JQuery(1.7.2)后插入调用以加载较旧版本的JQuery
我一注释掉第二次加载,错误就消失了。以下是解决此问题所需的脚本的完整列表。
(确保文件存在于给定的文件路径)
还可以在_Layout.cshtml中包含以下css链接,以获得时尚的弹出窗口
<link rel="stylesheet" type="text/css" href="../../Content/themes/base/jquery-ui.css" />
我有一个类似的问题,在我的例子中,问题是不同的(我使用的是Django模板)
JS的顺序不正确(我知道这是您检查的第一件事,但我几乎可以肯定不是这样,但事实确实如此)。调用对话框的JS是在调用jqueryUI库之前调用的
我正在使用Django,所以我继承了一个模板,并使用{super.block}将代码从块继承到模板在解决问题的块的末尾。调用对话框的js是在Django的admin.py的媒体类中声明的。我花了一个多小时来解决它。希望这对其他人有所帮助。将jQueryUI更改为版本1.11.4,并确保不会添加两次jQuery。使用文档就绪处理程序怎么样?我想脚本必须在初始化DIV之后?@RajaprabhuAravindasamy不会有任何区别,因为脚本在button元素之后。在任何情况下,它都不会抛出错误。@Maged您也下载了对话框依赖项吗?@Juhana没有对话框依赖项。如果删除它,则会出现另一个错误“TypeError:this.element.prop不是函数this.options.disabled=!!this.element.prop(“disabled”);“@Maged尝试从jQuery CDN加载最新版本的jQuery和jQuery UI,我确信问题出在你的jQuery文件上。正如你所看到的,我的演示工作正常。将jQuery更改为1.11.1版我工作正常。这肯定是一个库问题。已解决。有人能详细说明原因吗?我的ViewPage上有这个@Scripts.Render(~/bundles/jQuery”)(不是布局,但布局也有此代码)当我删除它时,我的.js文件终于可以工作了,谢谢你提供的信息…我和我的同事们都在搞乱JQuery,我想他添加了这一部分,因为他没有做正确的事情…为什么我不知道我是js N00B这是我问题的原因,最后我删除了一个版本,这个解决方案确实给了我提示。
$('<div id="editor" />').dialogelfinder({
<script src="@Url.Content("~/Scripts/jquery-1.8.2.js")" type="text/javascript">
</script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.24.js")" type="text/javascript">
</script>
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript">
</script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript">
</script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript">
</script>
<link rel="stylesheet" type="text/css" href="../../Content/themes/base/jquery-ui.css" />