У меня есть простой скрипт в 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.
Я открыт для других предложений.