Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.08.2011, 15:25
Интересующийся
Отправить личное сообщение для yurik417 Посмотреть профиль Найти все сообщения от yurik417
 
Регистрация: 31.08.2011
Сообщений: 17

.each & .live
Обьясните пожалуйста, почему вдруг не работает конструкция:
jQuery('input').each(function(){
     jQuery(this).live('focus',function(){
          alert(1)	
     })
})
Ответить с цитированием
  #2 (permalink)  
Старый 31.08.2011, 15:38
Аватар для kadabrik
Кандидат Javascript-наук
Отправить личное сообщение для kadabrik Посмотреть профиль Найти все сообщения от kadabrik
 
Регистрация: 10.12.2010
Сообщений: 114

Зачем здесь each?
jQuery('input').live('focus',function(){
          alert(1)	
     })

live не будет работать с набором без привязанного к нему селектора.
Ответить с цитированием
  #3 (permalink)  
Старый 31.08.2011, 15:47
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

потому что делаете через одно место неправильно

jQuery('input').live('focus', function(){ 
     alert(1)
});
Ответить с цитированием
  #4 (permalink)  
Старый 31.08.2011, 15:55
Интересующийся
Отправить личное сообщение для yurik417 Посмотреть профиль Найти все сообщения от yurik417
 
Регистрация: 31.08.2011
Сообщений: 17

Сообщение от kadabrik Посмотреть сообщение
Зачем здесь each?
jQuery('input').live('focus',function(){
          alert(1)	
     })

live не будет работать с набором без привязанного к нему селектора.

each здесь, потаму что для каждого елемента перед событием "focus", нужно сформировать переменную с $(this).val()

Сделал бы .bind но TEXTAREA грузится AJAXом

Последний раз редактировалось yurik417, 31.08.2011 в 16:00.
Ответить с цитированием
  #5 (permalink)  
Старый 31.08.2011, 16:00
Аватар для SkyLight
Злюка-бобер
Отправить личное сообщение для SkyLight Посмотреть профиль Найти все сообщения от SkyLight
 
Регистрация: 21.03.2010
Сообщений: 438

И что? У вас же в обработчике focus'а и так this будет указывать на элемент, который запустил событие
__________________
In WEB We Trust
У всех есть своя темная сторона...
Ответить с цитированием
  #6 (permalink)  
Старый 31.08.2011, 16:03
Интересующийся
Отправить личное сообщение для yurik417 Посмотреть профиль Найти все сообщения от yurik417
 
Регистрация: 31.08.2011
Сообщений: 17

Сообщение от SkyLight Посмотреть сообщение
И что? У вас же в обработчике focus'а и так this будет указывать на элемент, который запустил событие
Я же написал "перед событием "focus""
Ответить с цитированием
  #7 (permalink)  
Старый 31.08.2011, 16:03
Аватар для kadabrik
Кандидат Javascript-наук
Отправить личное сообщение для kadabrik Посмотреть профиль Найти все сообщения от kadabrik
 
Регистрация: 10.12.2010
Сообщений: 114

Сообщение от yurik417 Посмотреть сообщение
each здесь, потаму что для каждого елемента перед событием "focus", нужно сформировать переменную с $(this).val()
Что имеется ввиду?
Это:
jQuery('input').live('focus',function(){
          var anyVariable = $(this).val();
          alert(1);
     })

Или это:
jQuery('input').live('focus',function(){
          alert(1);
     }).each(function(){
          var someVariable = $(this).val() 
});
Ответить с цитированием
  #8 (permalink)  
Старый 31.08.2011, 16:15
Интересующийся
Отправить личное сообщение для yurik417 Посмотреть профиль Найти все сообщения от yurik417
 
Регистрация: 31.08.2011
Сообщений: 17

Сообщение от kadabrik Посмотреть сообщение
Что имеется ввиду?
Это:
jQuery('input').live('focus',function(){
          var anyVariable = $(this).val();
          alert(1);
     })

Или это:
jQuery('input').live('focus',function(){
          alert(1);
     }).each(function(){
          var someVariable = $(this).val() 
});
Ребята это не то!
Речь идет о "Placeholder". Вот что хочется получить:
$('input').each(function(){
	var el = $(this);
	var elVal = el.val();
	el
	.live('focus',function(){
		if(el.val() == elVal){
			el.val('');
		}
	})
	.live('blur',function(){
		if(el.val() == ''){
			el.val(elVal); 
		}
	})
})
Ответить с цитированием
  #9 (permalink)  
Старый 31.08.2011, 16:18
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от yurik417 Посмотреть сообщение
each здесь, потаму что для каждого елемента перед событием "focus", нужно сформировать переменную с $(this).val()

Сделал бы .bind но TEXTAREA грузится AJAXом
и как ты собрался получать $(this).val(), если элемента ещё нет на странице, а будет загружаться через ajax ?


Сообщение от yurik417 Посмотреть сообщение
Обьясните пожалуйста, почему вдруг не работает конструкция:
Сообщение от yurik417 Посмотреть сообщение
each здесь, потаму что для каждого елемента перед событием "focus", нужно сформировать переменную с $(this).val()

Последний раз редактировалось melky, 31.08.2011 в 16:20.
Ответить с цитированием
  #10 (permalink)  
Старый 31.08.2011, 16:22
Интересующийся
Отправить личное сообщение для yurik417 Посмотреть профиль Найти все сообщения от yurik417
 
Регистрация: 31.08.2011
Сообщений: 17

Сообщение от melky Посмотреть сообщение
и как ты собрался получать $(this).val(), если элемента ещё нет на странице, а будет загружаться через ajax ?
Вообщето собрался вставить код в "success: function(){...}"
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу сформулировать jQuery .live() для динамического DOM элемента artnik Events/DOM/Window 2 26.09.2015 23:30
Вопрос по поводу .each Svad jQuery 2 10.04.2011 10:30