我似乎无法查明失败的原因-有什么想法吗? ->在.aspx中查看

custom.master参考/和脚本

<link rel="stylesheet" href="/admin/css/custom.css" />
<script src="/admin/js/jquery-1.9.1.min.js"></script>
<script src="/admin/js/jquery-1.10.2-ui.min.js"></script>
<link href="css/ui-lightness/jquery-ui-1.8.13.custom.css" rel="stylesheet"/>
<asp:ContentPlaceHolder ID="HeadPlaceHolder" runat="server"></asp:ContentPlaceHolder>

<script>
    $(function () {
        var $ = jQuery.noConflict(); <-- This here is the culprit


在rPage.aspx中(MasterPageFile =“〜/ admin / custom.master”)

<asp:Content ID="Content1" ContentPlaceHolderID="HeadPlaceHolder" runat="server">
    <link href="css/bootstrap-3.3.5.min.css" rel="stylesheet" />
</asp:Content>

<script>
    $(function () {
        var $ = jQuery.noConflict(); //**Without this line the next line fails**
        $("#<%= txtStartDate.ClientID %>").datepicker();


错误:

从控制台:TypeError: $ is not a function rPage:380:13

从调试器firefox开发版:

378 $(function () {
379        //var $ = jQuery.noConflict();
380        $("#ContentPlaceHolder_txtStartDate").datepicker();

最佳答案

查看(当前)发布的示例,我看不到NoConflict调用的原因。我认为这是因为可能尚未在示例代码中显示其他库。

那说...

在引入其他库之前,请尝试将NoConflict声明移至立即调用的函数表达式(IIFE)之外。

像这样

<script>
$.noConflict();
// Code that uses other library's $ can follow here.

$(function () {
     // Do awesome stuff here...
})();
</script>


我也建议...

像这样将jQuery别名化为IIFE ...

<script>
    $(function ($) {
         // Do awesome stuff here...
    })(jQuery);
</script>

09-26 19:04
查看更多