onchange赋值的Javascript位置
Javascript position of onchange assignment
我有一个复选框和一个文本输入。我希望只有选中复选框时才启用文本输入。我在这里找到了这个问题的答案,但以下代码不起作用:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>title</title>
<script type="text/javascript">
document.getElementById('yourBox').onchange = function() {
document.getElementById('yourText').disabled = !this.checked;
};
</script>
</head>
<body>
<input type="text" id="yourText" disabled />
<input type="checkbox" id="yourBox" />
</body>
</html>
然而,我注意到,如果我移动<script>环境下的<输入>类似的框
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>title</title>
</head>
<body>
<input type="text" id="yourText" disabled />
<input type="checkbox" id="yourBox" />
<script type="text/javascript">
document.getElementById('yourBox').onchange = function() {
document.getElementById('yourText').disabled = !this.checked;
};
</script>
</body>
</html>
为什么<script>环境对onchange属性起作用?
这是因为页面是从顶部解析的,并且在解析后立即添加每个元素。
当script
标记被解析后,代码将立即运行。那时input
标签还没有被解析,所以input
元素还不存在。
通过将script
标记放置在input
标记下方,脚本将在创建input
元素后运行。
您可以使用onload
事件来确保代码在页面完全解析后运行,而不是重新排列代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>title</title>
<script type="text/javascript">
window.onload = function() {
document.getElementById('yourBox').onchange = function() {
document.getElementById('yourText').disabled = !this.checked;
};
};
</script>
</head>
<body>
<input type="text" id="yourText" disabled />
<input type="checkbox" id="yourBox" />
</body>
</html>
相关文章:
- Javascript-在视频中跟踪鼠标位置
- 当选择值x时,Javascript需要在正确的位置显示文本区域,从而循环通过具有选择选项的表单
- 如何在javascript清单中获取地理位置权限
- 使用Google Maps JavaScript API v3和Geocoding API映射多个位置
- javascript背景图像位置循环
- 将位置变量从Javascript传递到PHP函数
- 单击下拉列表时保持滚动位置(javascript)
- 书签窗口位置javascript
- 将HTML元素的位置更改为另一个位置javascript
- 回调地狱,地理位置-JavaScript
- 我的地理位置(javascript)不起作用,我不知道为什么
- 如何使用HTML5地理位置javascript初始化带有地理位置(用户的当前位置)的Google Maps API
- 如何根据角度确定绝对顶部和左侧位置?Javascript
- 数据GUI -菜单的大小和位置(javascript / css)
- 卡号正则表达式和插入符号/光标位置(javascript)
- 计算选定文本的位置javascript/JQuery
- 文档引用器位置javascript远程php服务器
- 输入字段中的回车位置(JavaScript)
- 将地理位置JavaScript值传递给Bean
- 窗口.位置| javascript重定向