日期:2014-05-16  浏览次数:20420 次

IE HTML中onPropertyChange事件疑点求解!
HTML文档如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-transitional.dtd">
<html>
<head>
<script type="text/javascript">
var oldval;
function mytextest(V)
{
      alert('onPropertyChange事件响应!');
      if(V.value != oldval){
           oldval = V.value;
           V.value = V.value;
      }
}
</script>
</head>

<body>
<input type="text" id="mytext" onPropertyChange="mytextest(this)" />
</body>
</html>




如上文档,输入的过程中会发现onPropertyChange事件间歇性的无法响应,目前尝试了两种解法可以保证每次输入均响应该事件:
1、去掉V.value=V.value赋值语句,修改输入框的值,每次都会弹出alert框,既每次修改属性onpropertyChange事件都有响应;但是我响应该事件就是为了检索V.value的值后重新为其赋值,所以这种解法不可取;
2、去掉<!DOCTYPE ...>标签,这种方式可以保证即使在onPropertyChange事件的响应函数中修改了V.value的值后,onPropertyChange事件也是每次都可以响应;但是去掉<!DOCTYPE ...>标签后,对div布局兼容性却很差;

所以在这里想请问大神们!要保留<!DOCTYPE ...>标签(为了布局的兼容性),且在onPropertyChange事件的响应函数中可能会修改到V.value得值(业务需要),如何实现???
最好哪位大神可以解释下为什么会出现这种情况哈!!!!!!!!!!
感谢啦!!! 
JS onPropertyChange IE

------解决方案--------------------
V.value = V.value;

你这个什么逻辑。。在这个事件里面再修改值会导致重复处罚onpropertychange事件导致死循环了
------解决方案--------------------
前几天问onPropertyChange的是楼主吧
------解决方案--------------------
同求。。。。大神帮忙解决。。。。