私はこのコードを持っており、ユーザーが入力した内容をチャットボックスに追加することができます。それは仕事をしますが、後に空の値を追加します。これをどうやって止めるのですか?なぜ入力は追加され続けますか?
function updateChat() {
$("div#chatmessages").append("<div>" + $("#message").val() + "</div>");
}
var elem = $('#message');
// Save current value of element
elem.data('oldVal', elem.val());
// Look for changes in the value
elem.bind("propertychange change click keyup input paste", function(event){
// If value has changed...
if (elem.data('oldVal') != elem.val()) {
// Updated stored value
elem.data('oldVal', elem.val());
$("#userSubmitTxt").click(function(){
console.log($('#message').val());
$("#chatmessages").append("<div>Me:" + $('#message').val() + "</div>");
$("#chatmessages").scrollTop($("#chatmessages")[0].scrollHeight);
if(elem.val().search(/nothing/i) >= 0){
console.log("Nothing");
$("#chatmessages").append("<div>Linodo: Well, for starters, have you thought about the SAT?</div>");
}
$('#message').val("");
});
}
else {
return false;
}
});
' $を追加してください場合は、あなたでは
" あなたは" へのメッセージを設定する場合を含む*その要素にハンドラをクリックしてくださいユーザーがタイプするたびに、そして各クリックがすべての*ハンドラーを実行します。 – nnnnnn
私は '.one(" click "、function(){})を使用しましたが、それでも起こります。 –
イベントハンドラをネストしないでください。 '.click()'をバインドします( '.one()'を使用しないでください)*キーアップハンドラの外側*。 – nnnnnn