注册JavasCript文件的问题

时间:2014-11-14 15:52:34

标签: javascript jquery

我有两个非常简单的文件:email.jsscript.js

email.js

$(function () {
    function txtInput(elem) {
      var inputData = $.trim(elem.val());
      if (inputData == "") {
        alert("Filed Is Empty");
      }
      else{
        return inputData;
      }
    }
});

script.js

$(function () {
 var proceed = false;
    $("#btnContactUs").on("click", function (e) {
    if (txtInput($('#name'))){
     proceed = true;
    }else{ proceed = false }
       e.preventDefault();
    });
});

我在index.php注册了

<script src="js/email.js"></script>
<script src="js/script.js"></script>

的问题:

1 - 首先$("#btnContactUs").on("click", function (e) {});没有做任何事情所以我删除了

$(function () {

});
来自email.js

它开始工作了!能告诉我为什么$(function () {});这样做了吗?

2 - 现在代码正常运行(从email.js中删除$(function () ...后)但是我在控制台中收到警告/错误:

enter image description here

你能告诉我为什么会这样吗?我该如何解决?

谢谢,

1 个答案:

答案 0 :(得分:1)

当使用var声明的函数和变量在其他函数中声明时,它们是其父函数的本地函数。这就是为什么在您删除txtInput之前未定义$(function(){});的原因。

这应该已经清除了“未定义”错误,特别是因为您的代码现在正在运行。清除控制台,刷新页面,看它是否仍显示错误。