有人可以建议为什么输入'在刷新表单时触发事件。
它不会在普通文本输入上执行,但它适用于textarea和输入[type = number]
基本上我有一个带有必需的textarea,并且由于IE11没有正确应用伪类,我必须绑定事件来调用验证代码并手动应用有效/无效的类。
$('[required]').on('input',function(){ checkValid(this);});
function checkValid(ele)
{
if(ele.validity.valid)
{
$(ele).removeClass('invalid');
$(ele).addClass('valid');
}
else
{
$(ele).removeClass('valid');
$(ele).addClass('invalid');
}
}
如果我刷新页面,checkValid对textarea运行并输入[type = number],但不是正常输入?
我已经将此跟踪到了输入'加载页面时触发事件,但仅在刷新后触发,而不是在初始页面加载时触发。
为什么会这样,我该怎么做呢?
谢谢, 1DMF
编辑评论
$(document).ready(function() {
// hide select list placeholders
$('select option:first').css('display','none');
// handle required fields as IE pseudo classes don't work properly
$('select[required]').on('click',function(){ checkValid(this);});
$('[required]').on('input',function(){ checkValid(this);});
$('[required]').on('invalid',function(){ $(this).addClass('invalid'); });
// add JQuery UI tooltips
$('body').tooltip();
// now deal with FF and the fact refresh doesn't blank form fields!
$('[required]').each(function(){
if($(this).val() != '')
{
checkValid(this);
}
});
});