Javascript &引用;未捕获引用错误:(函数)未定义;关注焦点事件

Javascript &引用;未捕获引用错误:(函数)未定义;关注焦点事件,javascript,jquery,html,scala,coffeescript,Javascript,Jquery,Html,Scala,Coffeescript,我将此输入保存在模板的scala.html文件中(我使用Play Framework): 然后,当我关注输入时#电子邮件什么也没有发生,控制台报告: Uncaught ReferenceError: isEmailExistF is not defined > onfocus 但如果我将onfocus替换为onblur或其他事件,情况也是一样的。CoffeeScript编译还可以,因为我还有其他可以正常工作的CoffeeScript。我尝试使用普通jquery来理解这是否是一个咖啡问

我将此输入保存在模板的scala.html文件中(我使用Play Framework):

然后,当我关注输入时#电子邮件什么也没有发生,控制台报告:

Uncaught ReferenceError: isEmailExistF is not defined
  > onfocus
但如果我将
onfocus
替换为
onblur
或其他事件,情况也是一样的。CoffeeScript编译还可以,因为我还有其他可以正常工作的CoffeeScript。我尝试使用普通jquery来理解这是否是一个咖啡问题。我将此代码嵌入到代码中:

<script>
var isEmailExistF;

isEmailExistF = function() {
  return $("#email").fadeOut();
};
</script>

我在coffeescripit页面上做了这个:

在HTML代码中删除焦点属性:

<input type="email" name="email" id="email">

替换onfocus=“isEmailExistF();”而不是此onfocus=“isEmailExistF()”。在您的代码中,您已经在函数中添加了分号@Fred Khi@DD.已经尝试过了,它是
中的同一个函数,而不是
DOM ready/load
事件中的同一个函数?@Karl AndréGagnon它不需要DOM ready,因为事件处理程序是内联分配的(只有在分配事件处理程序之前需要等待元素存在时才相关)。编译后的CoffeeScript周围的IIFE意味着该函数不可用于外部范围。
<script>
var isEmailExistF;

isEmailExistF = function() {
  return $("#email").fadeOut();
};
</script>
<script type="text/javascript" src="/assets/javascripts/main.js"></script>
(function() {
  var isEmailExistF;
  isEmailExistF = function() {
    return $("#email").fadeOut();
  };
  $(document).ready(function() {
     ...
<input type="email" name="email" id="email">
$(document).ready -> $(document).on("focus","#email",-> $(this).fadeOut())