javascript - Jquery中使用数组识别div

标签 javascript jquery html

您好,我正在尝试构建一个 jquery 验证函数。我想先在 keydown 上声明一个数组,然后在 keyup 上运行一个函数。但是该功能似乎不起作用。以下是我的 html 和 jquery。

html

<input type="text" id="user_name" />

jquery

$(document).ready(function()
{

    var validatearray = [];

    $("#user_name").keydown(function() { 
        validatearray = ["#user_name", "t", "5", "50", "alpha", "Name", "#errormsg1"];  
    });

    /* ----------------- Define Validate Function */

    var validate1 = function()
    {
        alert("its working");
    }

    $(validatearray[0]).on('keyup', validate1); 


});

当我执行 $("#user_name").on('keyup', validate1); 然后它工作

最佳答案

这是与您的变量范围有关的问题。当您在 validatearray 处的函数内声明您的变量时,它不能从外部函数 (read here) 调用。

您必须在函数之外定义您的 validatearray,然后它应该可以工作。此处修复 ( jsfiddle )

关于javascript - Jquery中使用数组识别div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45703556/

相关文章:

Jquery ajax 和 Rails 3 -> 加载内容

javascript - 单击复选框时删除最后一个输入字段

html - <链接 rel ="stylesheet"href ="css/contact.css"> 不工作

javascript - 如何消除angularjs中某些单元格的悬停效果

javascript - 无法使用 JS 更改 IE 中的属性值

javascript - 在 JavaScript 中动态实例化函数并调用方法

javascript - Moment.js : Timezone converter does not work correctly when switching between different timezones

javascript - 我可以强制 jQuery 使用 Sizzle 来评估选择器而不使用非标准选择器吗?

javascript - 影响所有类的输入检查

javascript - AngularJS ng-repeat 嵌套形式 w/socket.io