的
输入,onpropertychange使用onchange
onchange触发事件,必须满足两个
条件:
a)当前对象
属性发生变化,由
键盘或
鼠标事件触发(
脚本触发无效)
B)当前对象失去焦点(事件);
Onpropertychange,只要当前对象属性的变化,将触发一个事件,但它是唯一的IE;
输入是一个onpropertychange非IE
浏览器版本。它
支持Firefox和Opera等浏览器。但有一点是不同的。当它绑定到一个对象时,并不是所有对象的变化都可以触发事件,它只在对象值变化时才起
作用。
停止冒泡
如果(e)(e.stoppropagation) / /停止事件;
其他window.event.cancelbubble =真;
执行上面的代码,点击输入框也会触发onpropertychange。输入一个值也会触发这个事件,这证明如果属性值被
修改,它将触发事件。
其次,因为我们
发现这个
功能,这将是一个问题:有时当我们改变值在输入框进行功能
操作,而且修改自定义的属性,所以onpropertychange将触发两次,这可能不是我们想要的。
猜一下,既然你已经提供了这样的属性,它必须能够得到已经改变的属性。试着获得
参数的数量和参数的内容。
xml代码
复制代码代码如下所示:
<!——
document.getelementbyidx_x_x('xx)。AttachEvent('onpropertychange,
函数(){(){
警报(参数,长度);
对于(var i = 0;i < arguments.length;i++){
警报(参数{ });
}
});
-->
执行上面的代码段表明,1和{对象}被弹出,这意味着事件只将一个参数传递给回调函数,并且是一个对象
类型。
让我们试着遍历对象。
xml代码
复制代码代码如下所示:
<!——
document.getelementbyidx_x_x('xx)。AttachEvent('onpropertychange功能(o){)
对于(o中的var项){
警报(项目):;
}
});
我们可以看到在执行它的许多属性,但我们会发现这样一个属性:属性名地,我相信每个人都能猜到这个属性的意义。是的,这是用来获取它们的属性被修改。
xml代码
复制代码代码如下所示:
<!——
document.getelementbyidx_x_x('xx)。AttachEvent('onpropertychange功能(o){)
警报(o.propertyname);
});
点击
文本框中输入一个值,你会发现myprop和弹出值分别。
回到我们开始的问题,我们只需要判断值是否已经更改为OK。
直接查看代码。
xml代码
复制代码代码如下所示:
<!——
document.getelementbyidx_x_x('xx)。AttachEvent('onpropertychange功能(o){)
如果(o.propertyname!=价值) / /价值回报;不改变以下操作
/……功能。
});