2010-11-12 2 views
1

Я хочу, чтобы функциональность, как на событие фокуса текстового поля, я хочу выбрать текст текстового поля и щелкнуть текстовое поле, я хочу проверить, выбран ли текст в текстовом поле, а затем отменить выбор другого Выбрать.jQuery выберите и снимите текст текстового поля

для этого я добавил код как:

$('input').focus(function(){ 
    $(this).select(); 
}); 

какой код я должен добавить на событие щелчка, чтобы он мог выполнить Requirment

Благодарности & Привет

Munish

+1

Вы уверены, что хотите этого? Это означало бы, что всякий раз, когда пользователь нажимает, чтобы установить курсор в определенную позицию, весь текст выбран или отменен, и поэтому пользователь не может использовать щелчок мыши, чтобы поместить курсор. Это неожиданное поведение по сравнению с «нормальными» текстовыми полями, поэтому подумайте об этом дважды! –

+0

Не понимайте, почему вы хотели бы это сделать? Когда пользователь снова нажимает на текстовое поле, он уже имеет фокус, поэтому .select() не запускается снова, а затем текст не выбран. Если пользователь нажимает на другое место на странице, текст все равно отменяется, поэтому, если они снова щелкнут в поле, он будет выбирать весь текст ... – Brady

+0

Вы можете использовать свойство focus out для этого [focus out] (http://api.jquery.com/focusout/) –

ответ

0

Если вы хотите дать пользователю возможность перезаписать то, что там уже есть, вы можете просто установить его пустым:

$('input').focus(function(){ 
    $(this).val('').removeClass('default-value'); 
}); 

$('input').blur(function(){ 
    if ($(this).val()=='') 
    $(this).val('default value').addClass('default-value'); 
}); 

В addClass/removeClass биты не требуется ... они просто там так, что вы можете сделать значение по умолчанию отображаются серым цветом или курсивом, или что-то, если вы хотите. Для меня это выглядит довольно профессионально.

0

JQuery DOX здесь на .select() method сказать следующее:

Способ получения текущего выделенного текста отличается от одного браузера к другому. Несколько плагинов jQuery предлагают кросс-платформенные решения.

Итак, на первый взгляд, вам нужно будет спуститься по плагину, чтобы определить, выбран ли текст или нет внутри вашего элемента управления вводом.

Я также хотел бы предупредить Пеликана о том, что то, что вы делаете, мешает ожиданиям пользователей относительно того, как элемент ввода-текста будет вести себя при нажатии, и что вы должны тщательно подумать о том, действительно ли ваши требования указывают на то, как это сделать.

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