Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 访问加载DOM后附加的元素_Javascript_Dom_Dom Events - Fatal编程技术网

Javascript 访问加载DOM后附加的元素

Javascript 访问加载DOM后附加的元素,javascript,dom,dom-events,Javascript,Dom,Dom Events,在加载DOM之后,我创建了一个输入框和一个提交按钮,但在附加之后,我似乎无法访问它们 textInput = document.createElement('input'); textInput.setAttribute("id", "myMessage"); textInput.setAttribute("type", "text"); textInput.setAttribute("name"

在加载DOM之后,我创建了一个输入框和一个提交按钮,但在附加之后,我似乎无法访问它们

textInput = document.createElement('input');

textInput.setAttribute("id", "myMessage");
textInput.setAttribute("type", "text");
textInput.setAttribute("name", "message");

submitButton = document.createElement('input')

submitButton.setAttribute("id", "sendbutton");
submitButton.setAttribute("type", "submit");
submitButton.setAttribute("name", "submit");
submitButton.setAttribute("value", "Send");

document.getElementById("msgInput").append(textInput)
document.getElementById("msgInput").append(submitButton)
我试图以这种方式访问它,以捕获事件
keypress
keyup
onclick

document.addEventListener('DOMContentLoaded', () => {
    document.getElementById("myMessage").addEventListener('keypress', handleKeyPress);
    document.getElementById("myMessage").addEventListener('keyup', handleKeyUp);

    document.querySelector('#sendbutton').onclick = () => {
        var data = {'msg': document.querySelector('#myMessage').value, 'username': username };
        append_msgs(data);
        document.querySelector('#myMessage').value = '';
    }
});
在函数内部尝试
console.log(document.querySelector('#myMessage'))
,看看会返回什么。虽然它不能解决您的问题,但它可能会帮助您使用Inspector工具(Chrome中的F12)控制台来了解发生了什么。您是否尝试过使用
getElementById
而不是
querySelector
进行测试