attr ('defaultValue') возвращает undefined с использованием jQuery 1.6.3

У меня есть простой скрипт в jQuery, который отлично работает с jQuery 1.5.2, как вы можете видеть в this jsFiddle . Предполагается, что когда вы переводите фокус на текстовое поле, значение по умолчанию удаляется. А если оставить поле пустым, будет восстановлено исходное значение по умолчанию.

http://jsfiddle.net/kHBsD/

Однако тот же самый код, в котором вместо него используется только jQuery 1.6.3, не работает. (Не работает означает, что значение по умолчанию остается в текстовом поле до тех пор, пока вы не удалите его вручную, как вы можете видеть в this jsFiddle .

http://jsfiddle.net/kHBsD/1/

В консоли нет ошибок скрипта, и другие аспекты функции работают. Вы можете видеть, что часть hover () работает нормально в обоих jsFiddles.


Обобщенная версия (основная проблема)

jQuery 1.6.3 возвращает undefined для .attr ('defaultValue') .

jsFiddle с использованием jQuery 1.6.3 (не работает)

Однако jQuery 1.5.2 возвращает ожидаемое значение для .attr ('defaultValue') .

jsFiddle с использованием jQuery 1.5.2 (работает)


Вопрос:

Кто-нибудь знает, почему это происходит? (Мне это кажется ошибкой jQuery.)

Следующее все еще работает ...

document.getElementById().defaultValue

... но я думаю, что делать это там, где доступен jQuery, довольно некрасиво.

Я открыт для других предложений.

11
задан Sparky 1 October 2011 в 23:09
поделиться