Javascript 将简单的onclick js添加到rails
我的一个视图中有一个简单的div,我想单击它来隐藏页面上的另一个元素。我把它放在application.js中,但它没有任何作用。我放错地方了吗Javascript 将简单的onclick js添加到rails,javascript,jquery,ruby-on-rails,Javascript,Jquery,Ruby On Rails,我的一个视图中有一个简单的div,我想单击它来隐藏页面上的另一个元素。我把它放在application.js中,但它没有任何作用。我放错地方了吗 function toggleNewPostForm { $('.new-post-btn').hide(); } 试试这样的 <div class="xyz">Click here!</div> 还要检查事件侦听器是否添加到文档就绪方法之后?i、 e $(function(){ $(".xyz").click
function toggleNewPostForm {
$('.new-post-btn').hide();
}
试试这样的
<div class="xyz">Click here!</div>
还要检查事件侦听器是否添加到文档就绪方法之后?i、 e
$(function(){
$(".xyz").click(function(){
$('.new-post-btn').hide();
});
});
如果这是您仅有的js,则不会有单击行为。您必须告诉元素,即必须对单击事件作出反应 在application.js文件中尝试以下操作:
function toggleNewPostForm() {
$('.new-post-btn').hide();
}
$(document).on('ready page:load', function(){
$('.new-post-btn').on('click', function(){
toggleNewPostForm();
});
});
附言:正如RGraham所指出的,如果你定义了一个函数,你必须写参数paranthesis
p.p.S.:在RubyonRails中,您应该检查文档就绪处理程序中的'ready'和'page:load',因为RubyonRails默认使用“Turbolinks”-库。使用
documentready
确保在从HTML中选择元素并调用内部函数之前加载了文档
function toggleNewPostForm(){
$('.new-post-btn').hide();
};
$( document ).ready(function() {
toggleNewPostForm();
});
问题是:单击时是否真的触发了函数(toggleNewPostForm?
Uncaught SyntaxError:意外标记{
是您应该在错误控制台中看到的。我太依赖webstorm了,当我切换到Sublize时,这种情况发生了。非常感谢!在ruby on rails中,您应该将“page:load”和“ready”作为文档就绪处理程序进行检查(因为Turbolinks…)。当然,如果有人使用Turbolinks(自rails 4以来默认使用Turbolinks)然后他应该检查page:load和ready事件这将产生语法错误,因为函数{}()
不是有效的函数定义。。。
function toggleNewPostForm(){
$('.new-post-btn').hide();
};
$( document ).ready(function() {
toggleNewPostForm();
});