2011-01-11 8 views
0

Я бы хотел включить текстовое поле при его нажатии. Однако, когда я нажимаю текстовое поле, ничего не происходит. Я считаю, что это проблема с селектором jQuery. Почему это не работает?jQuery selector - поле ввода

<script> 
    $(document).ready(function() { 
     $(':input').click(function() { 
      $(this).removeAttr('disabled'); 
     }); 
    }); 
</script> 
<input type="text" value="123" disabled="disabled" /> 

Примечание: Я попытался как $ ('ввод') и $ (': ввод'), чтобы выбрать текстовое поле. Ничего не сработало.

+1

Знаете ли вы, вызвана ли функция? Попробуйте помещать оператор предупреждения в функцию, чтобы увидеть, вызвана ли она в первую очередь. – codersarepeople

+1

Это дубликат [Удалить отключенный атрибут onClick отключенного поля формы] (http://stackoverflow.com/questions/921161/remove-disabled-attribute-onclick-of-disabled-form-field). Короче говоря, отключенные элементы не запускают события 'click'. –

+0

Просто любопытно, можете ли вы объяснить пример использования такого поведения? – cesarsalazar

ответ

9

Отключенный вход не будет запускать события. Попробуйте перейти с отключенного на чтение.

+0

спасибо !! Прекрасно работает. – Nathan

+0

рад его слышать – leeny

+0

Имейте в виду, что это работает только для type = "text" и type = "password" – Wex

0

Это не имеет ничего общего с селектором, который вы используете, а потому, что, так как input элемент отключен, события на входе будет не пожар - см http://www.jsfiddle.net/DvZDh/

<input type="text" value="123" disabled="disabled" /> 
<input type="text" value="123" /> 

код работает на второй элемент input, но не первый. Простым решением, вероятно, было бы использование CSS для имитации отключенного состояния.

+0

Спасибо за ссылку, это очень полезно. Это отличный сайт. – Nathan