为什么我的jquery输入掩码不起作用



我正在尝试使用jQuery输入掩码插件(jQuery.maskedinput-1.3.min.js),我已经搜索了几个示例/解决方案,我的代码与其他工作示例完全一样,但它对我来说根本不起作用。请记住,我的代码目前只测试这个插件(试图让它发挥作用,这将解释为什么我试图将日期输入掩码应用于名称字段)我的代码如下:

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <title>Persons of Interest</title>
    <link rel="stylesheet" type="text/css" href="/Default_Styler.css" />
    <link rel="shortcut icon" href="/person.ico" type="image/x-icon" />
    <script src="/Scripts/jquery.1.7.2.js" type="text/javascript"></script>
    <script src="/Scripts/jquery.maskedinput-1.3.min.js" type="text/javascript"></script>
    <script src="/Scripts/FormHandler.js" type="text/javascript"></script>
</head>
<body>
    <div id="WrapperDiv">
        <div id="TitleBar">    <!--Beginning of Title Bar-->
            <div style="padding-top: 30px; text-align: center;">Persons of Interest</div>
        </div>                 <!--End of Title Bar-->
        <div id="FormHolder">
            <form action="">
                <p><label>POI Name: </label><input type="text" id="POI Name" name="POI Name" value=""/></p>
            </form>
        </div>
    </div>
</body>
</html>

JavaScript

jQuery(function ($) {
    $("#POI Name").mask("99/99/9999");
});

除此之外,我可以向您保证,引用的jQuery库确实位于适当的目录。(/脚本/…)

当我点击输入字段或其他任何东西时,我不会收到错误,它只是什么都不做。

jQuery选择器遵循标准CSS语法,因此ID中间的空间实际上被视为子代选择器。让你的生活更轻松:在处理jQuery时,将你的ID和类限制为字母数字、连字符,仅此而已

澄清一下:jQuery中有一个引号/转义语法,但IMHO太烦人了,无法处理,因此我甚至没有给出它的例子。

从ID中删除空格,然后尝试此

jQuery(function ($) {
    $("#POIName").mask("99/99/9999");
});

空格在ID属性中无效。您应该将您的id更改为$("#POIName"),并更新您的html。

带有空格的Jquery ID是一个类似的问题,您可能会觉得很有意思。

最新更新