좋아요, 그래서 대화방을 만들고 있는데 문제가 생겼습니다. 따라서 Enter 키를 누를 때마다 채팅 메시지를 작성하는 기능을 만들어야합니다. 지금까지 문제가 발생했습니다. 단지 하나의 문제입니다. 그것은 단지 요소 중 하나만 필요로하는 요소를 복제하고 있습니다.insertAfter()는 요소를 복사하지 않으려 고합니다.
내가 말하는 내용을 보려면 http://jsfiddle.net/MatthewKosloski/BHXMa/으로 이동 한 다음 메시지를 입력하고 Enter 키를 누릅니다. 두 개의 "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'를 두 번 호출하기 때문입니다. 이벤트 처리기 내부 및 'submitUserMessage' 함수 내부 –