【发布时间】:2013-09-21 09:56:03
【问题描述】:
我知道混合框架是个坏主意,但这不是我的选择。我必须为一个字段实现一个 jquery 日期选择器。该网站使用 mootools。问题是我需要在平滑盒覆盖中打开一个页面,并且这个页面有一个 jquery 日期选择器。我在 mootools 尝试解析 jQuery 标识符时遇到错误。有没有办法让 mootools 忽略字符串 jQuery?
<input type="text" id="selDate" name="selDate" placeholder="Date" />
<link rel="stylesheet" href="https://code.jquery.com/ui/1.10.3/themes/ui- lightness/jquery-ui.css" />
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
<script src="https://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script>
jQuery.noConflict();
jQuery(function() {
jQuery( "#selDate" ).datepicker();
})(jQuery);
</script>
Mootools 解析 jQuery 并给出错误:Uncaught ReferenceError: jQuery is not defined
我已尝试在匿名函数中包装 jquery 而不会发生冲突,但我仍然收到该错误。
【问题讨论】:
-
您认为 MooTools 到底在哪里尝试解析 jQuery?看起来这个问题与 MooTools 无关。如果我让你猜的话,你的页面中没有 jQuery JS 文件。
-
在脚本之前没有调用 jQuery lib 和 ui lib。当错误显示在 chrome 开发者工具中时,它会给出捕获异常的文件名 - mootools-core-1.26-yc
-
SSCCE 请。
-
Mootools 和 jQuery 可以一起工作。我在您的代码中没有看到任何 Mootools,您指出的原因对我来说没有意义。您是否有问题的实时链接或 jsfiddle?
-
唯一会出现 mootools 错误的情况是,如果您在使用
evalResponse: true, evalScripts: true进行 mootools ajax 调用后将上述 sn-p 注入您的页面,因为它不会按时进行脚本注入在尝试评估 jQuery 表达式之前。既然你使用了smoothbox,我假设它会拦截一个链接并输出响应?仍然 - 为了一个简单的日期选择器而添加 jQuery 和 jQuery UI 的意图?谷歌mootools Arian datepicker