jQuery onblur не работающий

$('#lPass').focus(function() {  
        if (this.value == this.defaultValue) this.value = '';
        $(this).after('<input type="password" id="lPass" size="10" value="'+this.value+'"/>').remove();
}).blur(function() {
    alert(1);
});

<input id="lPass" type="text" size="10" value="Password"/>


onblur, не работающий.
Какие-либо идеи?

10
задан informatik01 4 July 2014 в 12:15
поделиться

3 ответа

Использовать live вместо focus и blur

.live () был устарело. Используйте вместо них .on () и .off () .

, потому что вы добавляете ввод во время выполнения, поэтому он добавляет на страницу без событий, live:

Прикрепите обработчик к событию для всех элементов , которые соответствуют текущему {{1 }} селектор сейчас или в будущем.

Пример:

$('#lPass').on('focus', function() {
    if (this.value == this.defaultValue) this.value = '';
    $(this).after('<input type="password" id="lPass" size="10" value="' + this.value + '"/>').remove();
});


$('#lPass').on('blur', function() {
    alert(1);
});
26
ответ дан 3 December 2019 в 15:06
поделиться

Первая проблема, которую я вижу, заключается в том, что ваш селектор имеет идентификатор #lPass, однако внутри этого селектора вы пытаетесь вставить новый тег с тем же идентификатором. ID должен быть уникальным на странице. ТОГДА вы пытаетесь удалить с помощью .remove () - мне кажется, это не имеет смысла.

Просто используйте .remove () или используйте новый идентификатор ...

ИЛИ уточните, что вы хотите сделать.

Что касается .blur, просто используйте размытие, но идентификатор должен быть исправлен, или используйте .live (), как предлагают другие, если вы хотите размыть НОВОЕ поле, которое вы добавили.

2
ответ дан 3 December 2019 в 15:06
поделиться

Это для вашего точного кода:

$('#lPass').live('focus', function() {  
    if (this.value == this.defaultValue) this.value = '';
    $(this).after('<input type="password" id="lPass" size="10" value="'+this.value+'"/>').remove();
}).live('blur', function() {
    alert(1);
});
2
ответ дан 3 December 2019 в 15:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: