var data = {
value: 'hello world!'
}
var bindValue;
//确定绑定的元素
var bindelems = [document.getElementById('p'), document.getElementById('input')];
//修改绑定元素的值的方法
var command = {
text: function(str) {
this.innerHTML = str;
},
value: function(str) {
this.value = str;
}
};
//遍历绑定元素修改其值
var scan = function() {
console.log('in scan');
for(var i = 0; i < bindelems.length; i++) {
var elem = bindelems[i];
console.log('elem',elem);
for(var j = 0; j < elem.attributes.length; j++) {
var attr = elem.attributes[j];
if(attr.nodeName.indexOf('q-')>=0) {
command[attr.nodeName.slice(2)].call(elem, data[attr.nodeValue]);
}
}
}
}
//设置劫持
var defineGetAndSet = function(obj, propname) {
Object.defineProperty(obj, propname, {
get: function() {
return bindValue;
},
set: function(value){
bindValue = value;
scan();
},
enumerable: true,
configurable: true
})
}
//一开始先初始化,使所有绑定的元素值为初始值
scan();
//设置需要被劫持的元素
defineGetAndSet(data, 'value');
//监听UI变化
bindelems[1].addEventListener('keyup', function(e) {
data.value = e.target.value;
});
setTimeout(function() {
data.value = 'change';
}, 1000);
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有