2013-09-23 5 views
-3

У меня есть обновление с JQuery 1.7.1 до 1.10.2 и теперь под проблемой появляется в jquery.unobtrusive-ajax.js:После обновления JQuery 1.10.2 некоторые проблемы возникают

$("a[data-ajax=true]").live("click", function (evt) { 
    evt.preventDefault(); 
    asyncRequest(this, { 
     url: this.href, 
     type: "GET", 
     data: [] 
    }); 
}); 

вопрос в прямом эфире , он говорит, что $("a[data-ajax=true]") не принимает метод или свойство live.

Как это решить? должен ли я обновить jquer.unobtrusive-ajax.js или что-то вроде этого?

+4

' live' устарел, используйте [ 'on'] (HTTP: // api.jquery.com/on/) – Krzysiek

+0

Уважаемый не просто ожидайте, что все будет работать, когда вы обновите jquery, прочитайте журнал изменений. Если вы прочитаете живые документы, вы увидите, что они были удалены в jquery 1.9 http://api.jquery.com/live/. Используйте вместо этого. –

+0

Запустите плагин Migrate. https://github.com/jquery/jquery-migrate/ – j08691

ответ

7

Прочитайте документацию, пожалуйста, live был удален и заменен .on()

$(document).on("click", "a[data-ajax=true]", function (evt) { 

document является контейнером, в котором размещается динамический контент.

+0

Извините, но я полностью новичок в jQuery. Могу ли я обновить, изменив устаревшие функции вручную в этом файле, а не обновить весь файл? Разве нет обновлений jquery.unobtrusive-ajax.js для загрузки из любого места? – user1624552

3

метод .live устаревший в версии 1.7 и удален позже вы должны использовать .он

Проверьте документацию:

http://api.jquery.com/live/

Если вы используете плагин, зависящие от живого, то я бы продолжать использовать версию 1.7

1

использовать .on()

$(document).on("click", "a[data-ajax=true]", function (evt) { 

См. .live() Был номер deprecated версии 1.7 и удален в 1.9.

Начиная с jQuery 1.7, метод .live() устарел. Используйте .on() до , присоедините обработчики событий. Пользователи более старых версий jQuery должны использовать .delegate() в предпочтении .live().

3

Также хорошо знать о плагине jQuery Migrate. Это от самого jQuery и доступно прямо из их GitHub.

Целью плагина является «», чтобы упростить переход от более ранних версий jQuery. Плагин восстанавливает устаревшие функции и поведение, чтобы старый код по-прежнему корректно работал на jQuery 1.9 и более поздних версиях. диагностировать проблемы совместимости, он будет генерировать предупреждения на консоли, которые можно использовать для выявления и устранения проблем "

Источник:. jQuery download page

Смежные вопросы