是否有人成功将IE8的jQuery占位符文本添加到动态创建的表单元素中。
例如,我单击一个按钮,会出现一个通过AJAX加载的表单,我需要使用占位符文本命中新表单。
我尝试过使用jQuery .live,.bind,.on等...但是在创建新元素时都没有捕获它们。
我也尝试将它放在点击功能中,这样当他们点击按钮时,占位符功能就会被激活。
$('input[placeholder]').on("focus", function() {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
input.removeClass('placeholder');
}
}).blur(function() {
var input = $(this);
if (input.val() == '' || input.val() == input.attr('placeholder')) {
input.addClass('placeholder');
input.val(input.attr('placeholder'));
}
}).blur().parents('form').submit(function() {
$(this).find('input[placeholder]').each(function() {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
}
})
});
答案 0 :(得分:1)
$(document).on({
focus: function() {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
input.removeClass('placeholder');
}
},
blur: function() {
var input = $(this);
if (input.val() == '' || input.val() == input.attr('placeholder')) {
input.addClass('placeholder');
input.val(input.attr('placeholder'));
}
}
},"input[placeholder]");
$(document).on("submit","form",function() {
$(this).find('input[placeholder]').each(function() {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
}
});
});
$('input[placeholder]').blur();
如果重构有效,请告诉我。