JS onclick事件,双击时候游览器兼容问题.

百说不如一看先简单的写下代码。——————————————————————————<inputtype="text"id="a"/><inputtype="button"... 百说不如一看
先简单的写下代码。
——————————————————————————
<input type="text" id="a" />
<input type="button" id="b" value="click" />
<script type="text/javascript">
var a = document.getElementById('a');
var b = document.getElementById('b');
b.onclick = function(){
a.value += "A";
}
</script>
——————————————————————————
比如我双击 b 的话
应该a的value里进2个A是吧?
但是IE 6,7,8 里只能进1个A. (双击)
chrome,IE9, FF 都是正常的
有木有解决的方法?
——————————————————————————
求不要写 ondblclick来处理
展开
 我来答
百里屠苏白
2013-09-04 · 超过16用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:41.3万
展开全部
<input type="text" id="a" />
<input type="button" id="b" value="click" />
<script type="text/javascript">
var a = document.getElementById('a');
var b = document.getElementById('b');
b.onclick = function(){
setTimeout(function(){
a.value += "A";
},300)
}
</script>

给点击事件加个延时。
追问
不懂加延时的意义是什么。
追答
IE 处理一些快速事件就会出现问题,比如移入移出,setTimeout 可以解决这些问题,具体什么原理我也不清楚。
度高岑00I
2013-09-04 · TA获得超过161个赞
知道答主
回答量:109
采纳率:100%
帮助的人:113万
展开全部

<script>  
var num=0;  
var add=0;  
if(!+[1,])    
 {      
/*解体的思路在于用js判断浏览器,可用360极速模式(非ie) ,ie9模式检测*/
/*  if(navigator.userAgent.indexOf("MSIE")>0)
开始用这个也行*/    
if(navigator.userAgent.indexOf("MSIE 9.0")>0)
   {
   alert("ie9");
   num++;      
}
  else alert("这是<9的ie浏览器");  
}
else
   num++;
 

var a = document.getElementById('a');

var b = document.getElementById('b');

b.onclick = function(){
  a.value += "A";
  add++;
   if(add==2&&num=0)
    {
       a.value += "A";  
       add=0;
    }
}  
</script>

改了一下,有问题再问

追问
IE9.0 以下的版本
onclick 双击无效的。
add++ 能加上去 ==2 吗?
追答
add是个全局变量,作用域在函数之外,之前点击一次就变成1了,再变就是2.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1192779725
2013-09-04 · TA获得超过174个赞
知道小有建树答主
回答量:371
采纳率:100%
帮助的人:141万
展开全部
这是IE的Bug,单击和双击的区分。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式