发现ie11都不支持placeholder,这是相当悲剧的。下面贴出一段简单的解决方法:
$(document).ready( function () { var doc = document, inputs = doc .getElementsByTagName('input'), supportPlaceholder = 'placeholder' in doc .createElement('input'), placeholder = function ( input) { var text = input.getAttribute('placeholder'), defaultValue = input.defaultValue; if (defaultValue == '') { input.value = text input.setAttribute("old_color", input.style.color); input.style.color = "#c0c0c0"; } input.onfocus = function () { this.style.color = this.getAttribute("old_color"); if (input.value === text) { this.value = '' } }; input.onblur = function () { if (input.value === '') { this.style.color = "#c0c0c0"; this.value = text } } }; if (!supportPlaceholder) { for (var i = 0, len = inputs.length; i < len; i++) { var input = inputs[i], text = input .getAttribute('placeholder'); if (input.type === 'text' && text) { placeholder(input) } } } } );
直接引用这段js就可以了。
原理
就是通过js获取表单的title,然后把title写入到表单中,当表单激活的时候,再清空表单内容就可以了。