Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery验证,禁用元素的onkeyup_Jquery_Jquery Validate - Fatal编程技术网

jQuery验证,禁用元素的onkeyup

jQuery验证,禁用元素的onkeyup,jquery,jquery-validate,Jquery,Jquery Validate,我使用的是jQuery验证,我想对某个元素禁用keyup验证,因此我使用以下代码:- $("form").validate({ onkeyup: function (element) { if (element.id == 'tx_username') { return false; } } 这只是对所有内容禁用它,而不仅仅是对所需元素禁用它。有人知道我如何仅对指定的元素禁用keyup验证吗?”tx_username'在这

我使用的是jQuery验证,我想对某个元素禁用keyup验证,因此我使用以下代码:-

$("form").validate({
    onkeyup: function (element) {
        if (element.id == 'tx_username') {
            return false;
        }
    }

这只是对所有内容禁用它,而不仅仅是对所需元素禁用它。有人知道我如何仅对指定的元素禁用keyup验证吗?”tx_username'在这种情况下

尝试使用jQuery的
.off()

$(“tx#u用户名”,表单)。关闭(“键控”)


试试下面的方法

     onkeyup: function (element, event) {

     if (event.which === 9 && this.elementValue(element) === "") {
           return;
     } else {
     if (element.id != 'tx_username') {
           this.element(element);
     }
参考链接-

这只是对所有内容禁用它,而不仅仅是对所需元素禁用它

当您使用
onkeyup
选项时,您的自定义功能将完全超越插件的默认功能。由于您没有
else
语句,因此当该字段与
tx\u username
不匹配时,不会发生任何其他情况。。。有效地完全禁用
onkeyup
验证

onkeyup: function (element) {
    if (element.id == 'tx_username') {
        return false;
    }
}

解决的办法是把你的

onkeyup: function (element, event) {
    var excludedKeys = [
        16, 17, 18, 20, 35, 36, 37,
        38, 39, 40, 45, 144, 225
    ];
    if (element.id == 'tx_username') { // disable 'onkeyup' for this field
        return false;  
    } else { // otherwise, use the default code
        if (event.which === 9 && this.elementValue(element) === "" || $.inArray(event.keyCode, excludedKeys) !== -1) {
            return;
        } else if (element.name in this.submitted || element.name in this.invalid) {
            this.element(element);
        }
    }
}
演示:


注意:此较新版本的
onkeyup
功能将忽略以下键

// Shift       => 16
// Ctrl        => 17
// Alt         => 18
// Caps lock   => 20
// End         => 35
// Home        => 36
// Left arrow  => 37
// Up arrow    => 38
// Right arrow => 39
// Down arrow  => 40
// Insert      => 45
// Num lock    => 144
// AltGr key   => 225

您的
if
条件需要一个
else
,它将返回默认的
onkeyup
code.FYI@Shazoo-来自插件版本1.11.1的代码。现在升级到了1.15版。有关更新版本,请参阅。请注意最新的
onkeyup
功能如何忽略
shift
ctrl
alt
等键。