removeClass JQuery之后,类没有被删除

时间:2015-11-17 15:12:38

标签: javascript jquery html

您好我有一个文本框如下:

['SOURCE:  filename.dc : another/path : a/path/: description','...]

我想删除class =" input-validation-error"在Tab键上,其代码如下:

<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="150" name="AltPhone" tabindex="33" type="text"
  value="" class="input-validation-error">

但是我仍然无法从文本框中删除该类。这个函数被调用,并且还调用了代码的以下行,但是在调用完成的函数之后,该类仍出现在文本框中。

$(document).ready(function () {
            $("#AltPhone").live('keydown', function (e) {
                var code = e.keyCode || e.which;
                if (code == 9) {
                    $(this).removeClass('input-validation-error');
                    e.stopPropagation();
                }
            });
        });

3 个答案:

答案 0 :(得分:3)

有一个适当的事件来管理输入标签,使用blur

$("#AltPhone").on('blur', function (e) {
      //code here
});

答案 1 :(得分:0)

改为使用.keydown()事件。

&#13;
&#13;
$(document).ready(function () {
            $("#AltPhone").keydown(function (e) {
                var code = e.keyCode || e.which;
                if (code == 9) {
                    $(this).removeClass('input-validation-error');
                    e.stopPropagation();
                }
            });
        });
&#13;
&#13;
&#13;

工作示例:https://jsfiddle.net/j2y9w1x6/

单击Tab键后,检查“结果”部分中的元素以查看是否已删除验证类。

答案 2 :(得分:0)

也许是因为这个键拦截了你的浏览器。尝试使用其他密钥,例如ENTER