为什么这个Javascript会在单个页面上运行,而不是从一个公共文件运行?

为什么这个Javascript会在单个页面上运行,而不是从一个公共文件运行?,javascript,jquery,asp.net-mvc,maskedinput,Javascript,Jquery,Asp.net Mvc,Maskedinput,我有一个ASP.NETMVC应用程序,我正试图用它来屏蔽/提示日期。如果我把这个脚本放在页面底部的@部分Scripts{}中,它就可以正常工作了 <script type="text/javascript"> $(document).ready( function() { $(function($) { $(".datemask").mask("99/99/9999", { placeholder: "m

我有一个ASP.NETMVC应用程序,我正试图用它来屏蔽/提示日期。如果我把这个脚本放在页面底部的
@部分Scripts{}
中,它就可以正常工作了

<script type="text/javascript">
    $(document).ready(
        function() {
            $(function($) {
                $(".datemask").mask("99/99/9999", { placeholder: "mm/dd/yyyy" });
            });
        });
</script>
该脚本在每个页面上都可以正常运行(它是从_Layout.cshtml部分视图加载的)。但是,当我将屏蔽脚本放入该文件时,无论是现有
.each
函数的一部分,还是现有
.ready
函数的一部分,还是它自己的
.ready
部分,它都不会屏蔽文本框


这是关于屏蔽输入插件的奇怪之处,还是我缺少了在MVC中使用JavaScript的一些东西

:输入没有意义,只需使用
输入
@epascarello不能说。。。我从某个地方的一个教程中得到了这一点,但它确实有效(对于日期选择器)。它捕获绑定到datetime字段的页面上的每个输入。虽然即使我把它放在同一个文件中,但不是那个函数中,掩码也不起作用。:input查看select、textareas、buton和inputs。。。。它只是检查了比它需要的更多的元素。它不会解决问题。这个问题看起来像是两个脚本发生了冲突,但无法协调。当日期选择器处理格式时,使用带掩码的日期选择器似乎很奇怪。@epascarello我认为它们可能有冲突,但如果不在同一个文件中,它们可以一起工作。至于为什么两者都是,有些字段是最近的日期(datepicker),有些是很久以前的日期(mask),但我将这两种类型应用于这两个字段只是为了说明个人偏好。步骤1是检查browser developer tools控制台是否有任何“有趣”的消息
$(document).ready(function() {
    $(":input[type='datetime']").each(function() {
        $(this).datepicker();
    });