Javascript 同时添加和删除类JQuery

Javascript 同时添加和删除类JQuery,javascript,jquery,asp.net-mvc,Javascript,Jquery,Asp.net Mvc,我有3个字段,如下所示: <input data-val="true" data-val-regex="Phone is not correct" data-val-regex-pattern="(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}" data-val-required="Phone is required" id="Phone" maxlength="14" name="Phone" tabindex="5" type=

我有3个字段,如下所示:

<input data-val="true" data-val-regex="Phone is not correct" data-val-regex-pattern="(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}" data-val-required="Phone is required" id="Phone" maxlength="14" name="Phone" tabindex="5" type="text" value="" class="input-validation-error">

<input data-val="true" data-val-regex="Alt. Phone is not correct" data-val-regex-pattern="(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}" id="AltPhone" maxlength="14" name="AltPhone" tabindex="6" type="text" value="" class="input-validation-error">

<select id="BestTimeToCall" name="BestTimeToCall" tabindex="8" class="valid"><option value="Right Now">Right Now</option>
<option value="Morning">Morning</option>
<option value="Afternoon">Afternoon</option>
<option value="Evening">Evening</option>
</select>
<script src="@Url.Content("~/Scripts/jquery-1.4.4.js")" type="text/javascript">`</script>

    $("#AltPhone").blur(function () {
      $(this).removeClass('input-validation-error');
      $("label[for='AltPhone']").removeClass('input-validation-error');
    });

    $('#AltPhone').live('focus', function (event) {
       $(window).keyup(function (event) {
         var code = (event.keyCode ? event.keyCode : event.which);
         if (code == 9 || event.shiftKey) {
         $("#AltPhone").removeClass('input-validation-error');
         $("label[for='AltPhone']").removeClass('input-validation-error');
             }
     });
    });

马上
早晨
下午
傍晚
在第一个字段的选项卡上,我将从第二个字段中删除“输入有效性错误”类,在最后一个字段的Shift+tab中,我将执行相同的操作,因为我不需要在tab或Shift+tab的第二个字段上进行验证 JQuery代码编写如下:

<input data-val="true" data-val-regex="Phone is not correct" data-val-regex-pattern="(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}" data-val-required="Phone is required" id="Phone" maxlength="14" name="Phone" tabindex="5" type="text" value="" class="input-validation-error">

<input data-val="true" data-val-regex="Alt. Phone is not correct" data-val-regex-pattern="(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}" id="AltPhone" maxlength="14" name="AltPhone" tabindex="6" type="text" value="" class="input-validation-error">

<select id="BestTimeToCall" name="BestTimeToCall" tabindex="8" class="valid"><option value="Right Now">Right Now</option>
<option value="Morning">Morning</option>
<option value="Afternoon">Afternoon</option>
<option value="Evening">Evening</option>
</select>
<script src="@Url.Content("~/Scripts/jquery-1.4.4.js")" type="text/javascript">`</script>

    $("#AltPhone").blur(function () {
      $(this).removeClass('input-validation-error');
      $("label[for='AltPhone']").removeClass('input-validation-error');
    });

    $('#AltPhone').live('focus', function (event) {
       $(window).keyup(function (event) {
         var code = (event.keyCode ? event.keyCode : event.which);
         if (code == 9 || event.shiftKey) {
         $("#AltPhone").removeClass('input-validation-error');
         $("label[for='AltPhone']").removeClass('input-validation-error');
             }
     });
    });
`
$(“#AltPhone”).blur(函数(){
$(this.removeClass('input-validation-error');
$(“label[for='AltPhone'])。removeClass('input-validation-error');
});
$('#AltPhone')。实时('焦点'),功能(事件){
$(窗口).keyup(函数(事件){
var代码=(event.keyCode?event.keyCode:event.which);
if(代码==9 | |事件.shiftKey){
$(“#AltPhone”).removeClass('input-validation-error');
$(“label[for='AltPhone'])。removeClass('input-validation-error');
}
});
});

我得到的结果是,在tab上,它工作平稳,但在shift+tab上,它类似于出现红色(显示验证),在几微秒后变成白色(验证消失)
。removeClass('input-validation-error')
不会阻止验证(只是隐藏显示的错误)所以现在还不清楚你到底想用这个实现什么。在V1.7中,LVEVER()/代码>在V1.7中被折旧,并在 V1.9中删除。因此,您可能需要考虑升级您的脚本。在这里,我不想隐藏错误,因为框本身变为红色,并且只要关注是的,我可以使用它。BiDys:我知道,但是您想用这个来实现什么?仅仅删除红色边框不会阻止验证发生(您的模型仍然无效)