我有一个HTML和一个JS文件,我正在尝试将一个对象附加到HTML。但是当单击按钮时,消息是“ undefined:undefined”,而不是“ Me:Hello!”
建议并帮助非常赞赏。
var button = document.querySelector("#send");
var messages = document.querySelector("#messages");
var message = {
name: "Me",
message: "Hello"
}
function sendMessage (message) {
messages.append(message.name + ":" + message.message);
}
button.addEventListener("click", sendMessage, false);
答案 0 :(得分:1)
您不需要在函数中传递消息参数,因为它是全局变量。如下更改功能:
function sendMessage() {
messages.append(message.name + ":" + message.message);
}
答案 1 :(得分:0)
在message
的参数中声明的sendMessage
变量掩盖了在第3行用message
声明的全局var
变量。
事件处理程序触发时,事件处理程序功能的第一个参数接收Event对象。
为自变量命名不同(e
和event
是传统选择),因此您可以访问全局变量。