У меня есть простой скрипт в jQuery, который отлично работает с jQuery 1.5.2, как вы можете видеть в this jsFiddle . Предполагается, что когда вы переводите фокус на текстовое поле, значение по умолчанию удаляется. А если оставить поле пустым, будет восстановлено исходное значение по умолчанию.
Однако тот же самый код, в котором вместо него используется только jQuery 1.6.3, не работает. (Не работает означает, что значение по умолчанию остается в текстовом поле до тех пор, пока вы не удалите его вручную, как вы можете видеть в this jsFiddle .
В консоли нет ошибок скрипта, и другие аспекты функции работают. Вы можете видеть, что часть 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, довольно некрасиво.
Я открыт для других предложений.