1
私はユーザと会話するコンピュータのモデリングに取り組んでいます。コンソールは画面にメッセージを印刷し、ほとんど問題なくリロードすることができます。しかし、私は現在、コンピュータ画面上にあるものを「クリア」するようにボタンを設定しています。このボタンを押すと、ページがリロードされるまで他の機能は動作しません。textareaをクリアすると他のJS関数が破られる
私のwork so far。 'pwr'または 'send'のいずれかを数回押して問題を再現します。両方のボタンは、一度押すとメッセージを画面に表示します。 「クリア」を押すと、画面は消えてしまいますが、どちらのボタンも画面にメッセージを表示しません。 .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>
その通りです。 http://stackoverflow.com/questions/4722914/jquery-append-not-appending-to-textarea-after-text-editedの可能な複製です。 – migg