javascript - Javascript代码函数
问题描述
我有这个 Javascript 代码
var button = document.querySelector("#write");
button.addEventListener("click", write);
var field = document.querySelector("#field").value;
function write() {
alert(field);
}
<meta name="viewport" content="width=device-width">
<input type="text" name="field" id="field">
<button type="button" id="write">Write</button>
<div id="result"></div>
为什么这段代码什么都不显示?如果我更改此代码
var button = document.querySelector("#write");
button.addEventListener("click",write);
var field = document.querySelector("#field");
function write(){
alert(field.value);
}
现在字符串显示在屏幕上
解决方案
这是因为在第一个代码片段中
var field = document.querySelector("#field").value; // (1)
function write(){
alert(field);
}
您在(1)
调用之前获得了价值,write
这将不包含任何内容或只是未定义。在第二个片段上:
var field = document.querySelector("#field"); // (1)
function write(){
alert(field.value);
}
您只需field
先显式引用 on (1)
,然后在调用write()
.
推荐阅读
- android - 如何处理 RxJava 中多个链式 Observable 的错误?
- apache - 如何在 Jenkins 中禁用 http 到 https 重定向?
- dm-script - 如何在 DM 脚本中更改浮动托盘的宽度
- postgresql - postgresql 过程多选择语句结果作为输出
- javascript - 如何在本机反应中获取嵌套的json数组
- c - E2 Studio 调试
- postgresql - 将复杂的 postgres 查询转换为 Spring Hibernate 存储库的 JPQL
- apache-kafka - 如何根据连接器名称获取 Kafka 源连接器架构
- ios - 如何从标签栏视图控制器返回?
- rxjs - RxJS 连续 HTTP 轮询,以防它也失败