【发布时间】:2020-08-20 22:28:46
【问题描述】:
在我看来,我正在尝试调用我放在 application.js 中的 JavaScript 函数:
/* Set the width of the side navigation to 250px */
function openNav() {
document.getElementById("mySidenav").style.width = "250px";
}
/* Set the width of the side navigation to 0 */
function closeNav() {
document.getElementById("mySidenav").style.width = "0";
}
这是我的 HTML:
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a>
<a href="#">About</a>
<a href="#">Services</a>
<a href="#">Clients</a>
<a href="#">Contact</a>
</div>
<span style="font-size:30px;cursor:pointer" onclick="openNav()">☰ open</span>
如果我把它放在<script></script> 标签中,那么它就可以工作。我的application.js 有效并且正在编译,但由于某种原因,它仅在 JavaScript 位于 html.erb 文件的实际视图中时才有效。但是如果它在我的包文件夹中的application.js 中,虽然它会构建 JavaScript 文件,但它会在控制台中返回此错误:
(index):23 Uncaught ReferenceError: openNav is not defined
at HTMLSpanElement.onclick ((index):23)
我怎样才能让它在我的pack/application.js 文件中工作,而不是让它在主题中的<script> 标签中工作?
【问题讨论】:
-
请不要编辑您的问题来告诉我们您找到了解决方案。问题是专门针对问题的,就像答案只针对答案一样。 SO 不是消息列表或论坛,它就像一本在线教科书,您刚刚在其中创建了一篇新文章。它比其他两种类型的网站更正式。 tour 和“How to Ask”及其链接页面对此进行了讨论。
标签: javascript ruby-on-rails ruby