0

我刚开始学习 javascript,想在 Rails 中使用它。javascript代码很简单,主要用于实验:

var pageAlert = function(){
            alert("This is working");}
$('#refresh-button').on('click',pageAlert);

我必须将代码放在“application.js”文件和函数内

 $(document).ready(function(){...});

否则,它将无法正常工作。例如,如果我将它放在“custom.js”或“application.js”中但在 document.ready 函数之外,则不起作用。我假设我不必将所有内容都放在 document.ready 函数中。我知道资产管道的概念,并且在“application.js”中,我有默认的

 //= require_tree .

这应该很容易,但我就是想不通。对此有何建议或教程?谢谢。

4

1 回答 1

1

您可以将函数声明和基本 javascript 之类的代码放在$(document).ready(function(){...});块之外。例如尝试只写alert("Hello world").

但是$(document).ready(function(){...});会在 DOM 加载时首先触发,即。当您的浏览器下载 HTML 并准备好呈现页面时。$('#refresh-button')如果您像在块外调用操作 DOM 的 javascript 函数,ready代码是否会在 DOM 准备好之前运行,并且很可能无法工作,因为就像在这个示例中一样,还没有具有 id 的元素refresh-button

希望这能回答您的问题,否则请随时询问更多信息。

于 2013-05-09T22:16:59.613 回答