我正致力于为将与用户交谈的计算机进行建模。控制台能够将消息打印到屏幕并重新加载,几乎没有问题。但是,我有一个按钮,当前设置为“清除”计算机屏幕上的内容 - 按下此按钮后,在重新加载页面之前,其他任何功能都无效。
我的work so far。按“pwr”或“发送”几次重新创建问题。按下后,两个按钮都会向屏幕打印一条消息。如果按“清除”,屏幕将按照我的喜好清除,但两个按钮都不会再向屏幕显示消息。 .val('')是否会使这个字段不可编辑?
# app/assets/javascripts/app.computress.coffee
App.Computress =
clear: ->
$("#hm_disp_txt").val('')
greet: ->
App.Computress.prints("Welcome!")
prints: (str) ->
$("#hm_disp_txt").append(str + "\n")
$(document).on "click", "[data-behavior~=computress-listen]", =>
App.Computress.prints("ping received")
$(document).on "click", "[data-behavior~=computress-listen-clear]", =>
App.Computress.clear()
$(document).on "click", "[data-behavior~=computress-power]", =>
App.Computress.greet()
$(document).on "click", "[data-behavior~=computress-reload]", =>
location.reload()
# home.html/erb
<div id="computress">
<div id="home_console">
<textarea id="hm_disp_txt" readonly>Zzzzzz....</textarea>
</div>
<div id="home_input">
<div id="hm_inp_txt">></div>
<input type="text" id="user_inp" placeholder="...say "hello"?">
<%= link_to "send", "#", data: {behavior: "computress-listen"}, id: "talkbutton", class: "comptrss_mono_txt" %>
<%= link_to "C", "#", data: {behavior: "computress-listen-clear"}, id: "clearbutton", class: "comptrss_mono_txt" %>
<%= link_to "pwr", "#", data: {behavior: "computress-power"}, id: "pwrbutton", class: "comptrss_mono_txt" %>
<%= link_to "reload", "#", data: {behavior: "computress-reload"}, id: "rldbutton", class: "comptrss_mono_txt" %>
</div>
</div>
答案 0 :(得分:1)
我相信它是因为你正在混淆.append()
和.val()
...尝试使用:
$("#hm_disp_txt").val( $("#hm_disp_txt").val() + "\n" + str );
而不是:
$("#hm_disp_txt").append(str + "\n");
您的prints()
方法中的