我们加一个延迟时间就能很好的解决这个问题。
原理: 当接收到第一个点击时,我们先把单击事件存储在这个是全局变量 click_store 里,如果 0.3 秒内没有接收到双击事件,就去执行它,如果接收到了,我们把它清理掉,然后去执行双击事件。setTimeout() 可以实现延迟执行。
<input type='text' name='amount' value='' onkeyup=OnPrint(this,'This_Num')/><br><span id='This_Num'>0</span>元
<script>
function OnPrint(This,Obj){
var $=function(ObjId){return document.getElementById(ObjId)}
Obj=$(Obj)
Obj.innerHTML=This.value/10
}
</script>
可以先定义一个函数,即textChange要执行的内容函数,然后在对应的textBox标签中用onchange=""来调用那个textChange函数。步骤一:定义一个text标签,添加onchange为空;其html代码如下所示:
<input type="text" onchage="" />
步骤二:定义要执行的textChange函数,其JS代码如下所示:
function demo(){ //demo是函数名
//在这里写textChange执行代码
}
步骤三:将这个demo()函数赋给input标签的onchange;即html代码为:
<input type="text" onchage="demo()" />
这样的话,在文本框的值变化是就会调用这个函数了