2011-01-06 4 views
2

У меня есть модальный, который я вывожу с помощью jQuery с текстовым полем, на котором я хочу вызвать событие focus().
Проблема в том, что fextfield IS уже сконцентрировано. В большинстве браузеров оно даже выделено. (Я понятия не имею, почему?)Ввод текстового поля с дефокусировкой Javascript

Как удалить или отменить выбор текста, чтобы я мог использовать событие focus()?

<input type="text" class="shortcut" id="input-shortcut" value="<?= $shortcut_url; ?>" /> 

$(".shortcut").focus(function() { 
    $(this).addClass("focus"); 
    $(this).select(); 
}).blur(function() { 
    $(this).removeClass("focus"); 
}); 
+0

Кажется, что не нужно запускать событие «focus», если элемент ввода уже имеет фокус: http://jsfiddle.net/fkling/uT9d9/ (по крайней мере, в Chrome и Firefox). Где вы пытаетесь вызвать его? Вы знаете, что '$ ('. Shortcut')' не будет выбирать ваш элемент ввода? –

+0

ммм, похоже, не работает для .select()? – FFish

+0

Raising 'select' тоже работает: http://jsfiddle.net/fkling/uT9d9/1/ –

ответ

0

Используйте функцию JQuery в размытости(). Что в основном похоже на «не в фокусе»

+0

да, но blur() - это событие, как могу я вызвать его, когда текстовое поле уже сфокусировано? – FFish

+1

@FFish: 'element.blur()', но я уверен, что вам не нужно «дефокусироваться» вообще. –

+0

Gee, вы правы, он работает над элементом. – FFish

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