| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
乐学 会学 多求 善思千里之行 始于足下
共有 251 人关注过本帖
标题: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。
哪位大佬帮忙看看,谢谢!
2018-10-30 09:29
icecool
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:20
帖 子:1201
专家分:1289
注 册:2005-3-14
  得分:20 
document.getElementById('coilNo').value = ""
这一句改变了文本框的.TEXT属性,也会触发onpropertychange

loading...
2018-10-30 10:48







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

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