我想要实现下面的功能
1.给textbox赋值
2.然后给textbox添加onpropertychange事件
3.使div显示textbox中的内容
实现代码如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
input["type=text"]
{
display:none;
}
div
{
border-top:solid 5px silver;
border-right:solid 1px silver;
border-bottom:solid 5px silver;
border-left:solid 1px silver;
width:300px;
height:200px;
}
</style>
<script type="text/javascript">
function btn_click() {
var txt = document.getElementById("txt_name");
txt.value = "OK";
txt.onpropertychange = function () {
document.getElementById("div_result").innerHTML = txt.value;
}
}
</script>
</head>
<body>
<input type="text" id='txt_name' />
<input type="button" id="btn_show" value="click me" onclick="btn_click();" />
<div id="div_result"></div>
</body>
</html>
我给textbox添加onpropertychange事件是在给textbox赋值之后,但结果却是在给textbox赋值为"OK"时,该textbox就已经有了onpropertychange事件,并将内容显示在了div中.
请问这是为什么啊?
估计这是DOM延迟渲染的关系,引擎会在函数执行完后再将函数中对DOM的修改一起应用,这样能减少页面的重新布局的次数