代码有任何疑问之处欢迎留言。
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<input class="content" type="text" name="" value="">
<div class="show"></div>
<script type="text/javascript">
var input = document.getElementsByClassName('content')[0];
var div = document.getElementsByClassName('show')[0];
var data = {
value:'wy'
}
input.oninput = function(){
data.value = this.value;
}
function update(){
div.innerText = data.value;
}
function observer(data){//监控data对象变化
if (!data || typeof data != 'object') {
return data;
}else {
Object.keys(data).forEach(function(ele){
definedRective(data,ele,data[ele]);
})
}
}
observer(data);
function definedRective(data,key,val){
Object.defineProperty(data,key,{
get:function(){
return val;
},
set:function(newVal){
val = newVal;
update();
}
})
}
</script>
</body>
</html>