15 ответов
Последняя поддерживаемая версия VSDoc, по-видимому, v.1.4.4 от Microsoft и может быть найдена на http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4-vsdoc.js.
Это новый MS CDN для наборов инструментов (заменяющий старый домен microsoft.com).
Любители приключений могут добавить следующие строки, начиная с 2949:
delegate: function( selector, types, data, fn ) {
/// <summary>
/// Attach a handler to one or more events for all elements that match the selector, now or in the future, based on a specific set of root elements. See also "live".
/// </summary>
/// <param name="selector" type="String">
/// An expression to search with.
/// </param>
/// <param name="types" type="String">
/// A string containing a JavaScript event type, such as "click" or "keydown".
/// </param>
/// <param name="data" type="Object">
/// A map of data that will be passed to the event handler.
/// </param>
/// <param name="fn" type="Function">
/// A function to execute at the time the event is triggered.
/// </param>
return this.live( types, data, fn, selector );
},
undelegate: function( selector, types, fn ) {
/// <summary>
/// Remove a handler from the event for all elements which match the current selector, now or in the future, based upon a specific set of root elements. See also "die".
/// </summary>
/// <param name="selector" type="String">
/// An expression to search with.
/// </param>
/// <param name="types" type="String">
/// A string containing a JavaScript event type, such as "click" or "keydown".
/// </param>
/// <param name="data" type="Object">
/// A map of data that will be passed to the event handler.
/// </param>
/// <param name="fn" type="Function">
/// A function to execute at the time the event is triggered.
/// </param>
if ( arguments.length === 0 ) {
return this.unbind( "live" );
} else {
return this.die( types, null, fn, selector );
}
},
Эта документация в значительной степени извлечена из веб-страниц jQuery и из текущих определений "живи" и "умри", но не стесняйтесь настраивать по своему усмотрению.
Также в строке 224:
// The current version of jQuery being used
jquery: "1.4.2",
Вы всегда получаете это от http://docs.jquery.com/Downloading_jQuery - если это еще не там, это еще не доступно. v1.4.1 существует - см. скриншот - но 1.4.2 еще не готова
Просто записка об ответе Херба. Линия 2940, для меня так или иначе, была в середине метода "триггера". Я вставил код после 2949. Кроме того, так как мне потребовалось около 45 минут, чтобы выяснить, почему комментарии не работают для этих двух новых подпрограмм - теги "summary" содержат слишком много я!
Вот исправленная версия:
delegate: function(selector, types, data, fn) {
/// <summary>
/// Attach a handler to one or more events for all elements that match the selector, now or in the future, based on a specific set of root elements. See also "live".
/// </summary>
/// <param name="types" type="String">
/// A string containing a JavaScript event type, such as "click" or "keydown".
/// </param>
/// <param name="data" type="Object">
/// A map of data that will be passed to the event handler.
/// </param>
/// <param name="fn" type="Function">
/// A function to execute at the time the event is triggered.
/// </param>
/// <param name="selector" type="String">
/// An expression to search with.
/// </param>
return this.live(types, data, fn, selector);
},
undelegate: function(selector, types, fn) {
/// <summary>
/// Remove a handler from the event for all elements which match the current selector, now or in the future, based upon a specific set of root elements. See also "die".
/// </summary>
/// <param name="selector" type="String">
/// An expression to search with.
/// </param>
/// <param name="types" type="String">
/// A string containing a JavaScript event type, such as "click" or "keydown".
/// </param>
/// <param name="fn" type="Function">
/// A function to execute at the time the event is triggered.
/// </param>
if (arguments.length === 0) {
return this.unbind("live");
} else {
return this.die(types, null, fn, selector);
}
},
Не уверен, что это "официальная версия", но теперь файл 1.4.2-vsdoc можно загрузить с CDN Microsoft: http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2-vsdoc.js
Я решил создать его на основе данных этого вопроса и ответов и поделиться им. Вы можете скачать его из этого поста в блоге:
http://hugeonion.com/2010/06/26/here-is-the-missing-jquery-1-4-2-vsdoc-file/
Надеюсь, это поможет!
Помимо переименования файла VSDoc (1.4.1) вам также может потребоваться изменить номер версии jQuery, используемый в файле 1.4.1-vsdoc.js, на 1.4.2.
Смотрите строку № 224,
// The current version of jQuery being used
jquery: "1.4.2",
В настоящее время вы всегда можете просто переименовать "jquery-1.4.1-vsdoc.js" в "jquery-1.4.2-vsdoc.js", и когда они выпустят новую версию vsdoc, просто замените ее.
Примечание. Затем мне пришлось изменить исходный путь скрипта, а затем снова изменить его, чтобы vsdoc забрал vsdoc. Я просто добавил косую черту в начале значения атрибута src, а затем удалил его.
Джон Т сказал:
Для чего это стоит, и из этого вопроса:
jQuery 1.4.3 vsdoc
Кто-то обновил jQuery vsdoc для JQuery 1.4.3. Это в:
@ Джон Т: Спасибо за ссылки!
Для пользователей файла VSDOC v1.4.4, представленного здесь, существует небольшая ошибка, которая нарушает IntelliSense; в строке 1751 файл выглядит так:
jQuery.proxy = function(function, context){
Это приводит к тому, что Visual Studio показывает следующую ошибку:
Error updating JScript IntelliSense: <your path>\jquery-1.4.4-vsdoc.js: Expected identifier @ 1750:24
(или достаточно близко).
Обновите эту строку, чтобы читать:
jQuery.proxy = function(method, context){
Эта ошибка была найдена и устранена в VS2008.
FWIW, вы можете генерировать для jQuery версии 1.4.2 и выше, используя онлайн-инструмент, размещенный по адресу http://damianedwards.com/vsdoc
Кроме того, пакеты jQuery в NuGet содержат файлы vsdoc, созданные с помощью этого инструмента.
Этот инструмент фактически удаляет официальную документацию API с сайта api.jquery.com и объединяет ее с реальным объектом jQuery в памяти (браузера), а не пытается выполнить слияние исходного кода. Это не на 100% идеально, но очень близко (гораздо ближе, чем старый подход).
Кроме того, судя по некоторым ответам и комментариям, некоторые люди на самом деле ссылаются на файл vsdoc со своих веб-страниц. Не делайте этого. Файл vsdoc специально создан для обслуживания Visual Studio IntelliSense и не будет корректно работать в браузере. Просто укажите фактический файл jQuery (или версию.min), и Visual Studio автоматически найдет рядом с ним версию файла.vsdoc (в том числе, если вы ссылаетесь на него из CDN).
Для чего это стоит, и из этого вопроса:
Кто-то обновил jQuery vsdoc для JQuery 1.4.3. Это в:
Используя jQuery 1.4.4 и vsdoc с http://appendto.com/community/vsdoc (а также исправление для строки ~1750), я могу обновить свой Intellisense без ошибок; однако всякий раз, когда я печатаю:
$.
Я не только не получаю никаких соответствующих Intelliprompts, но я вижу:
Javascript Intellisense Сообщение: JSIntellisense: Внутренний /(3:4): Требуется объект
Это ссылается на первую функцию в моем файле.js:
; (function ($) {$.fn.MobileFunction = function (options) {
//My Function
};
}) (Jquery);
У меня есть одно предупреждение: "Ожидаемое выражение" на первом закрывающем элементе}) (jQuery); но я не могу найти синтаксическую ошибку в коде. Даже когда вся функция закомментирована, Intellisense не производит вывод.
Эта страница содержит список файлов vsdoc на CDN от Microsoft
http://www.asp.net/ajaxlibrary/cdn.ashx
просто найдите vsdoc, и вы найдете его:)
сейчас его нет на официальной странице загрузки JQuery
Вы можете получить это здесь:
http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2-vsdoc.js
Это веб-сайт, размещенный Microsoft.
Обратите внимание, что если вам нужна более новая версия, скажем, для jQuery 2.1.0, просто измените версию по пути выше, то есть:
http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.0-vsdoc.js
и загрузка сразу начинается.
Похоже, они добавили 1.4.2 на страницу загрузки JQuery:
http://docs.jquery.com/Downloading_jQuery
Н.М. искал не в том месте