【发布时间】:2017-02-26 19:24:11
【问题描述】:
我想这真的很简单,但我无法让它工作。我在 app/assets/javascript 的 help.js 中有一个脚本。
这是加载的,如果我添加一个 alert() 它会运行,但是当我尝试调用 javascript (jquery click()) 时没有任何反应。如果我在页面中有 javascript 代码,则它在页面底部有效。
我猜资产中的包含放在页面的开头,然后我的脚本将无法工作。所以...
- 我在编写 javascript 方面完全没有价值吗?
- 是否应该将 javascript 放在最后,如果从资产中要求它而不移动完整的 javascript_include_tag,该怎么做? (我想我可以将它从应用程序中排除并单独加载,但感觉不对)。
- 感觉很奇怪,这应该不起作用,所以我哪里出错了?
help.js
$('.clickme').click(function() {
$('#working').show();
var htmlStr = this.getAttribute('data-message');
$('#helper_box').html(htmlStr);
$('#helper_box').toggle('slow', function() {
// Animation complete.
$('#working').hide();
});
});
index.html.erb
<div class="clickme" data-message="Something...">
<%= image_tag("question_mark.png", :alt => "helper") %><br>
</div>
【问题讨论】:
-
点击后firebug/js控制台上的任何错误?我猜你没有在 application.js 文件中包含 jquery 或者在 help.js 文件之后需要 jquery 库。粘贴 application.js 文件的内容
-
朋友,你必须确保你的脚本必须在 DOM 准备好后执行。所以@Gonzalo Quero 是正确的。
标签: jquery ruby-on-rails placement