首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

js动态批改input的value,会阻碍onchange事件

2012-11-05 
js动态修改input的value,会阻碍onchange事件?大家好,请看如下html,执行后,发现input的onchange事件未响应,

js动态修改input的value,会阻碍onchange事件?
大家好,请看如下html,执行后,发现input的onchange事件未响应,原因是我在onpropertychange中,修改了input的value,修改value为何会影响到onchange?如何才能避免?求解,谢谢!

HTML code
<html>  <head></head>  <body>    <input onpropertychange="testPropertyChange(this)" onchange="testChange()" />  </body></html><script type="text/javascript">    function testChange() {        alert("changed");    }    function testPropertyChange(input) {        input.value = "aa"; // 这段话如果改为alert("aa"),则结果两个事件都能响应    }</script>


[解决办法]
ie会内存溢出。。
onchange和blur差不多,不过是要内容不一样时才会调用onchange
onpropertychange是只要内容改变就触发,设置控件内容回导致循环调用onpropertychange导致内存溢出stack overflow at line 0
[解决办法]
JScript code
<html>  <head></head>  <body>    <input onpropertychange="testPropertyChange(this)" onchange="testChange()" />  </body></html><script type="text/javascript">    function testChange() {        alert("changed");    }    var i=1;    function testPropertyChange(input) {        alert("第"+(i++)+"次进入");        if(i==10)            return;        input.value = "aa"; // 这段话如果改为alert("aa"),则结果两个事件都能响应    }</script>
[解决办法]
探讨
JScript code

<html>
<head></head>
<body>
<input onpropertychange="testPropertyChange(this)" onchange="testChange()" />
</body>
</html>
<script type="text/javascript">
function ……

热点排行
Bad Request.