Я знаю, що Internet Explorer не підтримує атрибут placeholder для вхідних тегів, але, безумовно, у 2012 році має бути інше рішення для IE?
Відповіді:
14 за відповідь № 1Я давно написав плагін jQuery, який додасть підтримку заповнювачів до будь-якого браузера, який його не підтримує.
3 для відповіді № 2
Власне, IE чи підтримує атрибут placeholder у 2012 році (версія 10). З'єднайте це з поліфіл для старих браузерів, і ви повинні мати всебічне рішення вашої проблеми.
0 для відповіді № 3
Ми використовуємо цей плагін jQuery у виробництві вже кілька тижнів, і, здається, він чудово працює.
http://webcloud.se/code/jQuery-Placeholder/
0 для відповіді № 4
http://the.deerchao.net/PlaceHolder він працює, тобто без виклику будь-якої функції ...
0 для відповіді № 5
Спробуйте цей розроблений мною плагін jQuery
https://github.com/ramsunvtech/jQuery-Plugins/tree/master/IEPlaceHolder
0 для відповіді № 6
Так, є досить просте рішення для 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");
});
}