标题:onpropertychange事件执行两次怎么回事?
只看楼主
luo_luo
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-10-17
结帖率:50%
已结贴  问题点数:20 回复次数:1 
onpropertychange事件执行两次怎么回事?
<input type="text" name="coilNo"  onkeydown="getkeydown()" onpropertychange="getLength()"/>
function getLength() {
    var coilNo = document.getElementById("coilNo").value;
    alert(startTime1);
    alert(coilNo.length);
    if(coilNo.length > 0 && startTime1 > 10){
        document.getElementById('coilNo').value = "";
        alert(coilNo.length);
    }
}
var startTime;    //按下时间
var startTime1;    //两次按下时间差
//按下按键
function getkeydown(){
    if(startTime>0){
        startTime1 = new Date().getTime() - startTime;
    }else{
        startTime1 = 100;
    }
    startTime = new Date().getTime();
}
为什么getLength()会执行两次,将document.getElementById('coilNo').value = ""注释掉之后就执行一次了。
第一次执行两次时弹窗结果为100,1,100,0,1。
哪位大佬帮忙看看,谢谢!
搜索更多相关主题的帖子: 事件 执行 var document alert 
2018-10-30 09:29
icecool
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:20
帖 子:1214
专家分:1366
注 册:2005-3-14
得分:20 
document.getElementById('coilNo').value = ""
这一句改变了文本框的.TEXT属性,也会触发onpropertychange

http://toorup.3v.do
loading...
2018-10-30 10:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-490810-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.231957 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved