javascript - Rails javascript 仅适用于双击,如何解决?

标签 javascript jquery ruby-on-rails

我有一个简单的“显示/隐藏”按钮,可以隐藏或显示内容。然而,在我的 Rails 应用程序中,它只有在单击两次后才起作用。我想让它只需要一次点击。

application.js

//= require jquery_ujs
//= require tinymce-jquery
//= require_tree .

function showhide(){
  var div = document.getElementById("correct_answer_choice");
  if (div.style.display !== "none") {
    div.style.display = "none";
  }
  else {
    div.style.display = "block";
  }
}

最佳答案

我可以看到你已经安装了 jQuery。如果您不反对使用 jQuery,更简单的方法是使用 toggle 方法:

function showhide(){
  $("#correct_answer_choice").toggle();
}

切换方法尝试确保如果它在调用函数之前是可见的,那么它将隐藏它,如果它是隐藏的那么它将显示。

如果这不能解决您的问题,那么我可能需要更多信息(例如,您如何监听点击以及 HTML 的初始状态是什么)

关于javascript - Rails javascript 仅适用于双击,如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46735545/

相关文章:

javascript - 单击 iframe 中的 url 时关闭 iframe

Javascript:将对象值数组放入div

javascript - 如果选中单选按钮,则调用函数处理程序

python - 将 jQuery 添加到 Django 管理页面以进行下拉选择以启用/禁用它

jquery - 为ajax添加动画

ruby-on-rails - Rails 4.0/Linode heisenbugs,部分 deux

javascript - 在页面上的某个位置停止动画 [jQuery]

javascript - 对类选择的元素数组使用 FOR 循环,并在每个元素上调用函数

ruby-on-rails - 如何检查我的应用每秒可以处理多少请求?

ruby-on-rails - Rails 3.2 和 yui 压缩器