监听一个对象,值发生变化告诉我,对这个对象不做任何操作
<html>
<div>
<input id='lwp'/>
</div>
</html>
<script>
//这是别人的代码,不归我管,但我必须监听input值发生变化,on('input')只能监听用户输入,不能监听代码赋值,因此不能用这个办法
$('#lwp').val('xx')
//这是我的代码
Object.definePropertie($('#lwp'),{
get(){},
set(){
//当$('lwp').val('xx') 执行时,进来
//...我的操作
//如何让这个input显示xx ---卡在这里
}
})
</script>
首先你要明白Object.defineProperty()是怎么用的
Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。
备注:应当直接在
Object
构造器对象上调用此方法,而不是在任意一个Object
类型的实例上调用。楼上已经给出了各类解决监听的 方法