gpt4 book ai didi

javascript - insertAfter() 在我不想要的时候复制了一个元素

转载 作者:行者123 更新时间:2023-11-30 10:29:32 24 4
gpt4 key购买 nike

好吧,我正在制作一个聊天机器人,但遇到了一个问题。所以我需要创建一个函数,每次按下回车键时都会创建一条聊天消息。到目前为止,一切顺利,只有一个问题。它正在复制一个元素,而我只想要其中一个。

要了解我在说什么,请转到 http://jsfiddle.net/MatthewKosloski/BHXMa/并输入一条消息,然后按回车键。注意有两个“Foo!”消息?我只想要一个。我还想让这些消息按时间顺序从上到下发送,但在我找出为什么会出现这种重复之前,我无法做到这一点!

function insertAfter(referenceNode, newNode) {
referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
}

var robotMessage = userMessage;

function intelResponse(){

// ROBOT
var robot = document.createElement("h4");
var robotText = document.createTextNode("Robot");
robot.appendChild(robotText);
robot.className = "rtitle";
document.body.appendChild(robot);
insertAfter(userMessage, robot);

// Robot's response
robotMessage = document.createElement("span");
var robotMessageText = document.createTextNode("FOO");
robotMessage.appendChild(robotMessageText);
robotMessage.className = "rmsg";
document.body.appendChild(robotMessage);
insertAfter(robot, robotMessage);

}

最佳答案

一个非常简单的错误。您调用方法 intelResponse 两次。修复了问题 FIDDLE

if (e.keyCode == 13) {
submitUserMessage();
//intelResponse();
$("#user-input").val("");
}

关于javascript - insertAfter() 在我不想要的时候复制了一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17775664/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com