JuiceUI和AjaxToolkit产生运行时错误:'$'未定义

时间:2012-09-10 14:46:51

标签: asp.net drag-and-drop juice-ui

我在带有母版页的aspx-Page中有以下代码:

<script>
    $(function () {
        $('#_Default').droppable({
            drop: function (event, ui) {
                debugger;
                var sender = ui.draggable;
                var pageId = '<%=  Page.UniqueID %>';
                __doPostBack('<%=TriggerDraggable.UniqueID%>', 
                  'Draggable#' + sender[0].id);
            }
        });
        $('#_Source').droppable({
            drop: function (event, ui) {
                debugger;
                var sender = ui.draggable;
                var pageId = '<%=  Page.UniqueID %>';
                __doPostBack('<%=TriggerDraggable.UniqueID%>', 
                  'Selected#' + sender[0].id);
            }
        });
    });
</script>

如果页面不包含Ajax-Toolkit控件,那么一切都很好 - 但是如果有的话ConfirmButtonExtender我得到了上述错误。

所以似乎ajax工具包以某种方式处理了这个功能。 这就是为什么我在我的实际脚本标记前插入以下标记:

<script type="text/javascript" src="Scripts/jquery-1.8.0.js"></script>
<script type="text/javascript" src="Scripts/jquery-ui-1.8.23.js"></script>
<script type="text/javascript" src="Scripts/amplify.js"></script>
<script type="text/javascript" src="Scripts/juice.js"></script>

这可以防止错误,我也可以拖动一些生成的元素,但现在永远不会调用drop事件 - 之前有效。

在AJAX工具包的函数调用之前,有没有办法确保首先调用我的脚本?或者我错过了进一步的脚本引用?

两者都是必需的,AJAX工具包以及JuiceUI。

1 个答案:

答案 0 :(得分:0)

您确定浏览器控制台中没有JS脚本错误吗?在上面的脚本中,你的意思是在两个不同的地方使用相同代码中的uniqueid和clientid吗?即var pageId = '<%= Page.UniqueID %>';var pageId = '<%= Page.ClientID %>';