You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
3.1 KiB
99 lines
3.1 KiB
(function($) {
|
|
var placeholderfriend = {
|
|
focus: function(s) {
|
|
s = $(s).hide().prev().show().focus();
|
|
var idValue = s.attr("id");
|
|
if (idValue) {
|
|
s.attr("id", idValue.replace("placeholderfriend", ""));
|
|
}
|
|
var clsValue = s.attr("class");
|
|
if (clsValue) {
|
|
s.attr("class", clsValue.replace("placeholderfriend", ""));
|
|
}
|
|
}
|
|
}
|
|
//判断是否支持placeholder
|
|
function isPlaceholer() {
|
|
var input = document.createElement('input');
|
|
return "placeholder" in input;
|
|
}
|
|
//不支持的代码
|
|
if (!isPlaceholer()) {
|
|
$(function() {
|
|
var form = $(this);
|
|
//遍历所有文本框,添加placeholder模拟事件
|
|
var elements = form.find("input[type='text'][placeholder]");
|
|
elements.each(function() {
|
|
var s = $(this);
|
|
var pValue = s.attr("placeholder");
|
|
var sValue = s.val();
|
|
if (pValue) {
|
|
if (sValue == '') {
|
|
s.val(pValue);
|
|
}
|
|
}
|
|
});
|
|
elements.focus(function() {
|
|
var s = $(this);
|
|
var pValue = s.attr("placeholder");
|
|
var sValue = s.val();
|
|
if (sValue && pValue) {
|
|
if (sValue == pValue) {
|
|
s.val('');
|
|
}
|
|
}
|
|
});
|
|
elements.blur(function() {
|
|
var s = $(this);
|
|
var pValue = s.attr("placeholder");
|
|
var sValue = s.val();
|
|
if (!sValue) {
|
|
s.val(pValue);
|
|
}
|
|
});
|
|
//遍历所有密码框,添加placeholder模拟事件
|
|
var elementsPass = form.find("input[type='password'][placeholder]");
|
|
elementsPass.each(function(i) {
|
|
var s = $(this);
|
|
var pValue = s.attr("placeholder");
|
|
var sValue = s.val();
|
|
if (pValue) {
|
|
if (sValue == '') {
|
|
//DOM不支持type的修改,需要复制密码框属性,生成新的DOM
|
|
var html = this.outerHTML || "";
|
|
html = html.replace(/\s*type=(['"])?password\1/gi, " type=text placeholderfriend")
|
|
.replace(/\s*(?:value|on[a-z]+|name)(=(['"])?\S*\1)?/gi, " ")
|
|
.replace(/\s*placeholderfriend/, " placeholderfriend value='" + pValue
|
|
+ "' " + "onfocus='placeholderfriendfocus(this);' ");
|
|
var idValue = s.attr("id");
|
|
if (idValue) {
|
|
s.attr("id", idValue + "placeholderfriend");
|
|
}
|
|
var clsValue = s.attr("class");
|
|
if (clsValue) {
|
|
s.attr("class", clsValue + "placeholderfriend");
|
|
}
|
|
s.hide();
|
|
s.after(html);
|
|
}
|
|
}
|
|
});
|
|
elementsPass.blur(function() {
|
|
var s = $(this);
|
|
var sValue = s.val();
|
|
if (sValue == '') {
|
|
var idValue = s.attr("id");
|
|
if (idValue) {
|
|
s.attr("id", idValue + "placeholderfriend");
|
|
}
|
|
var clsValue = s.attr("class");
|
|
if (clsValue) {
|
|
s.attr("class", clsValue + "placeholderfriend");
|
|
}
|
|
s.hide().next().show();
|
|
}
|
|
});
|
|
});
|
|
}
|
|
window.placeholderfriendfocus = placeholderfriend.focus;
|
|
})(jQuery);
|