|
31.08.2011, 15:25
|
Интересующийся
|
|
Регистрация: 31.08.2011
Сообщений: 17
|
|
.each & .live
Обьясните пожалуйста, почему вдруг не работает конструкция:
jQuery('input').each(function(){
jQuery(this).live('focus',function(){
alert(1)
})
})
|
|
31.08.2011, 15:38
|
|
Кандидат Javascript-наук
|
|
Регистрация: 10.12.2010
Сообщений: 114
|
|
Зачем здесь each?
jQuery('input').live('focus',function(){
alert(1)
})
live не будет работать с набором без привязанного к нему селектора.
|
|
31.08.2011, 15:47
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
потому что делаете через одно место неправильно
jQuery('input').live('focus', function(){
alert(1)
});
|
|
31.08.2011, 15:55
|
Интересующийся
|
|
Регистрация: 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.
|
|
31.08.2011, 16:00
|
|
Злюка-бобер
|
|
Регистрация: 21.03.2010
Сообщений: 438
|
|
И что? У вас же в обработчике focus'а и так this будет указывать на элемент, который запустил событие
__________________
In WEB We Trust
У всех есть своя темная сторона...
|
|
31.08.2011, 16:03
|
Интересующийся
|
|
Регистрация: 31.08.2011
Сообщений: 17
|
|
Сообщение от SkyLight
|
И что? У вас же в обработчике focus'а и так this будет указывать на элемент, который запустил событие
|
Я же написал "перед событием "focus""
|
|
31.08.2011, 16:03
|
|
Кандидат Javascript-наук
|
|
Регистрация: 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()
});
|
|
31.08.2011, 16:15
|
Интересующийся
|
|
Регистрация: 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);
}
})
})
|
|
31.08.2011, 16:18
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
Последний раз редактировалось melky, 31.08.2011 в 16:20.
|
|
31.08.2011, 16:22
|
Интересующийся
|
|
Регистрация: 31.08.2011
Сообщений: 17
|
|
Сообщение от melky
|
и как ты собрался получать $(this).val(), если элемента ещё нет на странице, а будет загружаться через ajax ?
|
Вообщето собрался вставить код в "success: function(){...}"
|
|
|
|