Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как переписать код в место .live() на .on()
 
 автор: web777   (27.01.2013 в 15:20)   письмо автору
 
 

Здравствуйте, имею такой рабочий код

$(".table").find("button.mid").live("click", function() {
           var btn = $(this);
        $.ajax({type: "POST", url: "http://site.ru/?id=" + btn.attr("data-id"), onComplete: function(response) {
        }});
        btn.toggleClass("btn-primary active");
});


но рабочий только при версии jquery-1.8.0 а вот при обновлении на новую версию jquery-1.9.0 код становиться уже не рабочим. Пишут что функция .live() устарела, и в новой версии отменена, за место неё теперь используется .on()

но вот проблема в том что я не могу переписать код под .on()

  Ответить  
 
 автор: DJ Paltus   (27.01.2013 в 15:27)   письмо автору
 
   для: web777   (27.01.2013 в 15:20)
 

А так?

$(".table").find("button.mid").onclick(function() { 

  Ответить  
 
 автор: web777   (27.01.2013 в 15:32)   письмо автору
 
   для: DJ Paltus   (27.01.2013 в 15:27)
 

тоже не работает в jquery-1.9.0 версии, переключил на jquery-1.8.0 работает

в 9 версии firebug молчит

  Ответить  
 
 автор: DJ Paltus   (27.01.2013 в 15:35)   письмо автору
 
   для: web777   (27.01.2013 в 15:32)
 

Есть мнение, что дело не в онклике, а в аджаксе. Попробуйте просто какой-нибудь алерт по онклику в первую строку, и будет ясно.

  Ответить  
 
 автор: web777   (27.01.2013 в 15:41)   письмо автору
 
   для: DJ Paltus   (27.01.2013 в 15:35)
 

сделал так
$(".table").find("button.mid").onclick(function() {  
alert('sms');
...


молчит, не реагирует.

тут нашёл новость
Осторожно! jQuery 1.9.0 не поддерживает live()
_http://blogocms.ru/2013/01/ostorozhno-jquery-1-9-0-ne-podderzhivaet-live/

может и онклик тоже был переписан или отменён

  Ответить  
 
 автор: web777   (27.01.2013 в 16:20)   письмо автору
 
   для: DJ Paltus   (27.01.2013 в 15:35)
 

вот что заметил, весь этот javascript код я переместил вниз под классом ".table", и теперь с новой строчкой

$(".table").find("button.mid").on("click", function(){


всё стало работать. Но вот неудобства, я привык все скрипты подключать сверху в шапке, а тут получается что код нужно отдельно в низу странице размещать. С чем это связанно и как можно сделать чтобы код был вверху?

  Ответить  
 
 автор: web777   (27.01.2013 в 16:42)   письмо автору
 
   для: web777   (27.01.2013 в 16:20)
 

сори, моя не внимательность, в отдельном подключаемом файле мен нужно было тот самы код заключить между

$(document).ready(function() {

тут код....

})


теперь всё работает, код немного подправил теперь он выглядит так

$("button.mid").on("click", function(){



всё остальное тоже самое

  Ответить  
 
 автор: DJ Paltus   (27.01.2013 в 17:56)   письмо автору
 
   для: web777   (27.01.2013 в 16:42)
 

Вот и ладненько )

  Ответить  
 
 автор: ЯСА   (27.01.2013 в 23:44)   письмо автору
 
   для: web777   (27.01.2013 в 15:20)
 

попробуйте объяснить сами себе - зачем вам ориентироваться на "самую последнюю версию JQuery"?
-----------

положим, есть у вас виниловая пластинка, которая прекрасно играет на граммофоне, на патефоне, на электрофоне и на электропроигрывателе

вы будете эту виниловую пластинку "засовывать" в кассетный магнитофон, в CD-плеер или в iPod?
не будете, правда?

так зачем вы скрипт, работающий в версии 1.8, "засовываете" в версию 1.9?

  Ответить  
 
 автор: web777   (30.01.2013 в 23:00)   письмо автору
 
   для: ЯСА   (27.01.2013 в 23:44)
 

есть желание идти в ногу со временем. Вдруг что понадобиться подключить плагин который будет требовать новую версию библиотеки, а у меня старая стоит, и тогда начнутся проблемы не совместимости. Печально...

  Ответить  
 
 автор: ЯСА   (31.01.2013 в 01:45)   письмо автору
 
   для: web777   (30.01.2013 в 23:00)
 

это - глупое желание

ибо "проблема несовместимости" в реале ещё только может возникнуть
а может и НЕ возникнуть

а вы вашим "желанием" эту "проблему несовместимости" САМИ создаёте уже сейчас

проблемы следует решать по мере их поступления, а вы их провоцируете

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования