Ответ 1
Я написал плагин jQuery некоторое время назад, который добавит поддержку заполнителя в любой браузер, который его не поддерживает.
Я знаю, что Internet Explorer не поддерживает атрибут placeholder для входных тегов, но, безусловно, в 2012 году должно быть другое решение для IE?
Я написал плагин jQuery некоторое время назад, который добавит поддержку заполнителя в любой браузер, который его не поддерживает.
На самом деле IE поддерживает атрибут placeholder в 2012 году (версия 10). Соедините это с a polyfill для старых браузеров, и у вас должно быть хорошо округленное решение вашей проблемы.
Мы используем этот плагин jQuery в производстве уже несколько недель и, похоже, отлично работаем.
http://the.deerchao.net/PlaceHolder он работает на ie без вызова какой-либо функции...
Попробуйте этот плагин jQuery, разработанный мной
https://github.com/ramsunvtech/jQuery-Plugins/tree/master/IEPlaceHolder
Да, есть довольно простое решение для IE8 и IE9, потому что на террейных версиях IE он уже работает. (IE10, IE11 и т.д.)
Это решение, которое я нашел:
1. Обнаруживать версию Internet Explorer
<!--[if lt IE 10]>
<script type="text/javascript">var ie = 9;</script>
<![endif]-->
<!--[if lt IE 9]>
<script type="text/javascript">var ie = 8;</script>
<![endif]-->
2. Закрепить местозаполнитель
if (typeof ie == 'undefined') var ie = 10;
if (ie == 8 || ie == 9){
$("input[placeholder]").each(function() {
this.value = $(this).attr('placeholder');
});
$("input[placeholder]").focus(function()
if (this.value == $(this).attr('placeholder')) this.value = '';
}).blur(function() {
if (this.value == '')
this.value = $(this).attr('placeholder');
});
}