Я использую head.js
(http://headjs.com) для асинхронной загрузки моих javascripts.
У меня проблема с jquery.validate.unobtrusive
и пользовательскими валидаторами
Все пользовательские проверки должны быть загруженыпосле jquery.validate
и jquery.validate.unobtrusive
, и я делаю это следующим образом:
<head>
<script src="@Url.Script("jquery")"></script>
<script src="@Url.Script("head.load")"></script>
</head>
<body>
<!-- entire markup -->
<script>
head.js("@Url.Script("jquery.validate")", function () {
head.js("@Url.Script("jquery.validate.unobtrusive")", function () {
head.js("@Url.Script("custom-validations")");
});
});
</script>
</body>
Проблема в том, что скрипт custom-validations
должен быть загружен после jquery.validate.unobtrusive
, но до события document.onready
, потому что jquery.validate.unobtrusive
использует document.onready
для создания чёрной магии. Но когда я использую событие head.js
document.onready
, запускаемое до загрузки скриптов, и моя пользовательская проверка не работает.
Есть ли какие-либо общиерешения / обходные пути для решения проблем такого рода с загрузкой асинхронных скриптов?
Еще одна проблема, которую мой клиент не хочет видеть jquery.validate
/ jquery.validate.onubtrusive
в теге <head>
.
@Url.Script
- вспомогательный метод для поиска js-файлов.