Javascript JQUERY:如果我有多个控制验证的字段,如何减少代码
例如,我有3个功能,我控制每个字段的键控;最后,我控制了相同的代码,所以我只想将3个字段的代码设置为1次Javascript JQUERY:如果我有多个控制验证的字段,如何减少代码,javascript,php,jquery,performance,Javascript,Php,Jquery,Performance,例如,我有3个功能,我控制每个字段的键控;最后,我控制了相同的代码,所以我只想将3个字段的代码设置为1次 ens_q_frio.keydown(function (event) { if (event.shiftKey == true) { event.preventDefault(); } if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode
ens_q_frio.keydown(function (event) {
if (event.shiftKey == true) {
event.preventDefault();
}
if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 46 || event.keyCode == 190) {
} else {
event.preventDefault();
}
if ($(this).val().indexOf('.') !== -1 && event.keyCode == 190)
event.preventDefault();
});
ens_q_cal.keydown(function (event) {
if (event.shiftKey == true) {
event.preventDefault();
}
if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 46 || event.keyCode == 190) {
} else {
event.preventDefault();
}
if ($(this).val().indexOf('.') !== -1 && event.keyCode == 190)
event.preventDefault();
});
ens_t_frio.keydown(function (event) {
if (event.shiftKey == true) {
event.preventDefault();
}
if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 46 || event.keyCode == 190) {
} else {
event.preventDefault();
}
if ($(this).val().indexOf('.') !== -1 && event.keyCode == 190)
event.preventDefault();
});
创建一个函数:
function validate(event) {
if (event.shiftKey == true) {
event.preventDefault();
}
if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 46 || event.keyCode == 190) {
} else {
event.preventDefault();
}
if($(this).val().indexOf('.') !== -1 && event.keyCode == 190)
event.preventDefault();
}
对其他输入执行相同的操作。将keydown参数作为单独的函数,然后只传递它。如果字段位于数组中,也可以使用forEach,您可以将其放入函数中,并将其置于每个事件处理程序中 $function{ $ens_q_frio.keydownfunctionevent{ KeydownEvents_q_frio,事件; }; $ens_q_cal.keydownfunctionevent{ KeyDownEvents\u q\u cal,事件; }; $ens\u t\u frio.keydownfunctionevent{ KeydownEvents\u t\u frio,事件; }; } 函数KeyDownEventtxtBox,事件{ 如果event.shiftKey==true{ 违约事件; }
如果event.keyCode>=48&&event.keyCode=96&&event.keyCode此示例可以简化为ens\u frio.keydownvalidate;是的,感谢您的更正,它可以在不使用匿名函数的情况下使用。代码段已编辑。
ens_t_frio.keydown(validate);