JuiceUI и AjaxToolkit выдают ошибку времени выполнения: "$" не определено
У меня есть следующий код в aspx-Page с Masterpage:
<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 ответ
Вы уверены, что в консоли браузера нет ошибки JS-скрипта? В приведенном выше сценарии вы хотите использовать uniqueid и clientid в одном и том же коде в двух разных местах? т.е. var pageId = '<%= Page.UniqueID %>';
а также var pageId = '<%= Page.ClientID %>';