0

实际上我已经在我的项目中添加了一个视图(ascx),并且我添加了一个用于显示日历的 jquery,如下所示

<script type="text/javascript">
 $(document).ready(function () {
    var FromDate = $("#FromDate");
    var ToDate = $("#ToDate");
    ValidateDate(FromDate, ToDate, "yy-mm-dd");
});     
</script>

在我的项目中,我们使用$货币符号,因为我们创建了一个 CSS 类,现在当我运行我的应用程序时,它变得冲突并给出错误,Microsoft JScript runtime error: The value of the property '$' is null or undefined, not a Function object

它与 ASPX 视图一起工作正常,但我不能使用 aspx,因为我使用的部分视图需要 ascx 用于我的项目。

有人请帮我解决一些问题。

4

2 回答 2

2

尝试使用jQuery而不是$.

通常在您的代码中,您可以$用作 的替代品jQuery,调用noConflict()将删除$jQuery函数之间的关联。因此,您可以使用另一个 JavaScript 库,该库也可以缩短为$无冲突。

许多 JavaScript 库使用 $ 作为函数或变量名,就像 jQuery 一样。在 jQuery 的例子中,$ 只是 jQuery 的别名,所以所有功能都可以在不使用 $ 的情况下使用。如果我们需要在 jQuery 旁边使用另一个 JavaScript 库,我们可以通过调用 $.noConflict() 将 $ 的控制权返回给另一个库:

您可以调用noConflict()并创建一个全新的别名来使用,如下所示:

var jQ = jQuery.noConflict();
jQ(document).ready(function () {
    var FromDate = jQ("#FromDate");
    var ToDate = jQ("#ToDate");
    ValidateDate(FromDate, ToDate, "yy-mm-dd");
});

jQuery - 避免与其他库的冲突

于 2013-06-17T14:11:39.927 回答
0

如果您想使用 $ 而不会与之前的 $ 函数发生冲突,您可以这样做

<script type="text/javascript">
   (function ($){
     $(document).ready(function () {
        var FromDate = $("#FromDate");
        var ToDate = $("#ToDate");
        ValidateDate(FromDate, ToDate, "yy-mm-dd");
     });
 })(jQuery);
</script>

添加的 Wrapper 函数将自动执行,将对 jquery 的引用保持为 $ 而不会与之前的旧 $ 冲突

于 2013-06-17T14:22:55.390 回答