Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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 &引用;类型错误:';未定义';不是一个函数;尝试使用jQuery UI时_Javascript_Jquery_Css_Ruby On Rails_Twitter Bootstrap - Fatal编程技术网

Javascript &引用;类型错误:';未定义';不是一个函数;尝试使用jQuery UI时

Javascript &引用;类型错误:';未定义';不是一个函数;尝试使用jQuery UI时,javascript,jquery,css,ruby-on-rails,twitter-bootstrap,Javascript,Jquery,Css,Ruby On Rails,Twitter Bootstrap,我试图使用jQuery UI的slider()函数,并在控制台中不断出现以下错误: 类型错误:未定义的不是函数(计算jQuery(“#slider”).slider()) 我确实正确地链接了jQueryUIJavaScript和CSS文件——当我查看页面源代码时,它们都在那里。为什么我仍然会犯这个错误 如果有用的话,我使用的是Rails和一些引导程序。下面是javascript代码: <script type="text/javascript"> $(document).re

我试图使用jQuery UI的
slider()
函数,并在控制台中不断出现以下错误:

类型错误:未定义的
不是函数(计算
jQuery(“#slider”).slider()

我确实正确地链接了jQueryUIJavaScript和CSS文件——当我查看页面源代码时,它们都在那里。为什么我仍然会犯这个错误

如果有用的话,我使用的是Rails和一些引导程序。下面是javascript代码:

<script type="text/javascript">
    $(document).ready(function(){
        $('#slider').slider();     
    });
</script>

$(文档).ready(函数(){
$(“#滑块”).slider();
});
谢谢

这是


新公司-牛津企业家OE Fort
jQuery(文档).ready(函数(){
$(“#滑块”).slider();
});

我猜想在JQuery加载之前加载此函数会导致错误(因此您会看到
未定义的错误--JQuery未定义)

你能详细说明你加载代码的方式吗?你能贴上你的标签吗

可能的原因可能是:

  • JQuery未加载
  • JQueryUI未加载
  • $(“#滑块”)
    不是有效的元素

该错误与应用程序.js.coffee文件中缺少一行有关。正如这里提到的:您可以在这里需要特殊的模块

因此,只需将以下行添加到application.js.coffee文件中,它就可以工作了:

#= require jquery.ui.slider

另一个可能的原因,我刚刚发现,是当您链接了两个不同版本的jquery时

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
      "~/Scripts/jquery-{version}.js"));
。。。(一些其他捆绑包),然后:

bundles.Add(new ScriptBundle("~/bundles/ajax").Include(
      "~/Scripts/jquery-1.10.2.min.js",
      "~/Scripts/jquery.unobtrusive-ajax.min.js"));
例如,在我的jqueryui包中,我有jquery-1.10.4.min.js(或者更确切地说,是最新版本),但在我的ajax包中,我有jquery-1.10.2.min.js。双击Chrome element inspector中的错误,显示了指向1.10.2中代码的链接。当我在ajax包中将其更改为1.10.4时,jqueryui元素突然起作用(在我的例子中是Tabs)

当然,我应该做的是把一切都留在jquery-{version}.js


总之,(n忽略)版本冲突是导致此错误的另一个可能原因。

我知道这不会回答这个确切的问题,但它可能会帮助其他人获得slider()函数的相同错误消息

如果在初始化滑块时在滑块中预设了值,则可能会出现以下情况:

$('#slider').val(5).slider();  
如果删除值(5),还将得到“TypeError:“undefined”不是函数”

相反,您需要将起始值插入到输入标记中

<input type="text" id="slider" value="5">


如果站点中的许多地方都使用了滑块,并且希望js文件包含默认值,而不是每个滑块都包含相同的信息,则可能会有这种设置。在我的例子中,我需要分散该值,这导致了此处所示的错误。

如果其他人遇到这种情况,我很难选择使用asp.net

事实证明我并没有把所有的东西都包括进去,但这位先生做了一个虚拟的证明:

如果您遇到“未捕获的typeerror不是函数javascript”,请尝试此操作 它起作用了


您是在脚本之前还是之后调用滑块?在jQueryUI之前声明了jQuery吗?jQuery需要在jQueryUI脚本之前首先声明。请在页面中jQuery.js之后引用slider.js文件。我已将添加到OP:)我的钱在前两个上,或者加载顺序错误,因为为
.slider()提供了无效元素
不会抛出错误。同意-查看
标记以验证加载过程将其添加到OP:)将是有益的Thanks@RichPeck似乎jquery UI没有加载-我的web inspector说加载了304响应的文件,但是页面不认为JQueryUI是手动加载JQueryUI还是使用Rails清单结构加载的?
$('#slider').val().slider();  
<input type="text" id="slider" value="5">
jQuery(function($) {
  // your code here
});