Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以从coffeescript文件调用Javascript函数吗?_Javascript_Jquery_Ruby On Rails_Coffeescript - Fatal编程技术网

我可以从coffeescript文件调用Javascript函数吗?

我可以从coffeescript文件调用Javascript函数吗?,javascript,jquery,ruby-on-rails,coffeescript,Javascript,Jquery,Ruby On Rails,Coffeescript,我正在尝试从Coffeescript文件中调用javascript函数,用于我的$(document).ready(),但它从未被调用 我想调用的函数来自一个外部源,我已经在我的html head元素中包含了该源,就在包含我的coffeescript文件之前,如下所示: <script src="external.js"></script> <%= javascript_include_tag params[:controller], 'data-turbolink

我正在尝试从Coffeescript文件中调用javascript函数,用于我的
$(document).ready()
,但它从未被调用

我想调用的函数来自一个外部源,我已经在我的html head元素中包含了该源,就在包含我的coffeescript文件之前,如下所示:

<script src="external.js"></script>
<%= javascript_include_tag params[:controller], 'data-turbolinks-track' => true %>
这是正确的方法吗?我可以在Chrome中看到我的脚本被编译成javascript,我可以在inspector的网络选项卡中看到它

我使用的是Rails 4,这是我的application.js

//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require bootstrap
//= require turbolinks
//= require_tree .
编辑:

如果我用
alert(“…”)替换方法调用它可以工作,如果我在
$(document.ready()
中使用javascript调用我的javascript方法,它就可以工作

编辑2:

下面是我真正的javascript函数:

var ready = function () {
  $('pre code').each(function (i, e) {
      hljs.highlightBlock(e)
  });
};

$(document).ready(ready);
我这样做解决了问题:

highlight = ->
  $("pre code").each (i, e) ->
    hljs.highlightBlock(e)

$(document).on 'ready page:load', ->
  highlight()

这与您认为的不同:

$ -> ready
在JavaScript中,即:

$(function() {
    return ready;
});
您的问题是just
ready
只是对函数的引用,而不像Ruby中那样是函数调用。要调用函数,必须说
ready()
,函数调用括号仅在使用参数调用函数时是可选的:
fx
f(x)
是相同的,但是
f
f()
是不同的

我想你应该说:

$ -> ready()
甚至:

$ ready # same as $(ready)

这与您认为的不同:

$ -> ready
在JavaScript中,即:

$(function() {
    return ready;
});
您的问题是just
ready
只是对函数的引用,而不像Ruby中那样是函数调用。要调用函数,必须说
ready()
,函数调用括号仅在使用参数调用函数时是可选的:
fx
f(x)
是相同的,但是
f
f()
是不同的

我想你应该说:

$ -> ready()
甚至:

$ ready # same as $(ready)

这与您认为的不同:

$ -> ready
在JavaScript中,即:

$(function() {
    return ready;
});
您的问题是just
ready
只是对函数的引用,而不像Ruby中那样是函数调用。要调用函数,必须说
ready()
,函数调用括号仅在使用参数调用函数时是可选的:
fx
f(x)
是相同的,但是
f
f()
是不同的

我想你应该说:

$ -> ready()
甚至:

$ ready # same as $(ready)

这与您认为的不同:

$ -> ready
在JavaScript中,即:

$(function() {
    return ready;
});
您的问题是just
ready
只是对函数的引用,而不像Ruby中那样是函数调用。要调用函数,必须说
ready()
,函数调用括号仅在使用参数调用函数时是可选的:
fx
f(x)
是相同的,但是
f
f()
是不同的

我想你应该说:

$ -> ready()
甚至:

$ ready # same as $(ready)

我想它可能是你在coffeescript文件中的函数?如果alert起作用,但不是方法调用,那么它可能是您的方法我添加了我真正的javascript函数,您能告诉我如何在coffeescript中实现它吗?我想它可能是您在coffeescript文件中的函数?如果alert起作用,但不是方法调用,那么它可能是您的方法我添加了我真正的javascript函数,您能告诉我如何在coffeescript中实现它吗?我想它可能是您在coffeescript文件中的函数?如果alert起作用,但不是方法调用,那么它可能是您的方法我添加了我真正的javascript函数,您能告诉我如何在coffeescript中实现它吗?我想它可能是您在coffeescript文件中的函数?如果alert起作用但不是方法调用,则可能是您的方法我添加了真正的javascript函数,您能告诉我如何在coffeescript中实现它吗?谢谢,现在调用了我的函数,但由于错误,它无法编译。如果你能帮我弄清楚如何在coffeescript中实现它,我已经在我的原始帖子中包含了我真正的javascript函数。你是在我不在的时候弄明白的,对吗?您应该可以只说
$(文档)。在“就绪页面:加载”上,也可以说“就绪”
。谢谢,现在调用了我的函数,但由于错误,它无法编译。如果你能帮我弄清楚如何在coffeescript中实现它,我已经在我的原始帖子中包含了我真正的javascript函数。你是在我不在的时候弄明白的,对吗?您应该可以只说
$(文档)。在“就绪页面:加载”上,也可以说“就绪”
。谢谢,现在调用了我的函数,但由于错误,它无法编译。如果你能帮我弄清楚如何在coffeescript中实现它,我已经在我的原始帖子中包含了我真正的javascript函数。你是在我不在的时候弄明白的,对吗?您应该可以只说
$(文档)。在“就绪页面:加载”上,也可以说“就绪”
。谢谢,现在调用了我的函数,但由于错误,它无法编译。如果你能帮我弄清楚如何在coffeescript中实现它,我已经在我的原始帖子中包含了我真正的javascript函数。你是在我不在的时候弄明白的,对吗?您应该能够说:<代码>$(文档)。在“就绪页面:加载”上,也可以说“就绪”