当前位置:  开发笔记 > 编程语言 > 正文

jQuery UI"$("#datepicker").datepicker不是函数"

如何解决《jQueryUI"$("#datepicker").datepicker不是函数"》经验,为你挑选了6个好方法。

当我使用DatePicker,jQuery的UI插件时,在现有的.aspx页面中,我得到的错误是:

$("#datepicker").datepicker is not a function

但是,当我将创建并使用datePicker的相同代码复制并粘贴到与aspx页面位于同一目录中的HTML文件时,它可以完美地运行.这让我假设aspx页面中有一些JS文件阻止了datePicker或jQuery的UI JS文件正确加载.

任何人都可以确认我的信念或提供任何关于找到干扰jQuery的UI插件的罪魁祸首的提示吗?



1> Eugene van d..:

几个小时我一直在努力解决类似的问题.然后结果是jQuery被包含两次,一次是由我添加jQuery函数的程序,一次是由我们的内部调试器.


那么解决方案是什么?
@HenriqueOrdine仔细检查页面上是否包含两次jQuery.
这也是我的问题.我有一个我自己的jQuery库以及jQuery Tools CDN的引用,它在不知不觉中包含了jQuery.

2> MacAnthony..:

如果有另一个库使用$ variable,您可以这样做:

var $j = jQuery.noConflict();
$j("#datepicker").datepicker();

还要确保您的javascript包含的顺序正确,以便在jquery.ui之前定义jquery核心库.我有这个问题.



3> random..:

当您从jQuery UI集中丢失文件时,通常会出现此错误.

仔细检查您是否拥有所有文件,jQuery UI文件以及CSS和图像,以及它们是否位于服务器上正确链接的文件/目录位置.



4> Krishna..:

jQuery"$("#datepicker").datepicker不是一个函数"

我已经通过将以下三个文件放在表单末尾的body部分中来解决了这个问题.

  
    
    



5> AutomatedTes..:

如果您认为存在冲突,可以jQuery.noConflict()在代码中使用.详细信息在文档中.

参考魔术 - 快速的快捷方式

如果你不喜欢一直输入完整的"jQuery",那么有一些替代的快捷方式:

将jQuery重新分配给另一个快捷方式 var $j = jQuery;(如果您希望使用不同的库,这可能是最好的方法)使用以下技术,它允许您在代码块内部使用$而无需永久覆盖$:

(function($) { /* some code that uses $ */ })(jQuery)

注意:如果你使用这种技术,你将无法在这个假设$为Prototype的$的封装函数中使用Prototype方法,因此你可以选择在该块中仅使用jQuery.使用DOM ready事件的参数:

jQuery(function($) { /*some code that uses $ */ });

注意:同样,在该块内部,您不能使用Prototype方法

这是从文档的最后,可能对你有用



6> eKek0..:

首先明白:你是否正好引用了jquery-ui.js文件?

尝试使用firebug的网络选项卡查找是否已加载,或者使用Web Developer Toolbar的Information\View javascript代码.

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有