是关于浏览器兼容的,因为IE跟DOM标准不一样,有些代码写法不一样,所以会写这样的兼容语句d=e?e:event;但是这个三目运算不是判断e的bool值然后确定是e还是event吗?
然后我就写了这样一段<script>
document.onclick=function(e)
{
d=e?e:event;
if(d==e)
{alert("this is e!!");}
if(d==event)
{alert("this is event");}
alert(d.clientX+":"+d.clientY);
}
</script>就是一个单击事件,然后看d到底是为e还是event,我在360极速浏览器和ie9下测试
360极速浏览器会一次弹出this is e!!
this is event 跟坐标而IE9则只弹出this is e!!跟坐标我混乱了,为什么极速浏览器会把e跟event两个值都显示呢?
那这里的e到底是个什么类型的数据,e? 判断的又是什么...
然后我就写了这样一段<script>
document.onclick=function(e)
{
d=e?e:event;
if(d==e)
{alert("this is e!!");}
if(d==event)
{alert("this is event");}
alert(d.clientX+":"+d.clientY);
}
</script>就是一个单击事件,然后看d到底是为e还是event,我在360极速浏览器和ie9下测试
360极速浏览器会一次弹出this is e!!
this is event 跟坐标而IE9则只弹出this is e!!跟坐标我混乱了,为什么极速浏览器会把e跟event两个值都显示呢?
那这里的e到底是个什么类型的数据,e? 判断的又是什么...
解决方案 »
- 求助一个js上传文件的怎么写?
- jQuery中的animate在firefox中的问题,请高手解答一下。
- (在线等)javascript根据URL判断是否刷新问题!!
- 访问IE Event对象的问题
- 求助!这段代码中THIS弄不清楚了
- 在NetScape中dblclick一个按钮如何激发另一个按钮的click事件呢
- 用JavaScript是否能解决这个题目?请大虾赐教,3Q!
- 请教javascript中使用dom发送xml的问题...
- 关于Components in Internet Explorer
- 求一个js正则表达式
- 如何解决这样的问题
- 有一个jquery的语义不太清楚,渴求各位解释下....
最后说一句,360极速说白了就是chrome浏览器加了一个壳而已
终于有人答复了,感激,看懂了一些,但还有部分不明白,就是那个三目运算 e?e:event这不是最终只能得到一个值么,要么是e要么是event 在FF浏览器里,没有那个e参数,那e也是undefined了?我没有FF浏览器,我这就去下一个...
e=e?e:event;
可以换成
d=e?e:event;么或者是
if(e)
{e=e;} //{d=e;}
else
{e=event;} //{d=event;}最后alert{e.clientX+":"+e.clientY}; //alert{d.clientX+":"+d.clientY}; 我理解这里的兼容应该就是最后那个x.clientX
在不同浏览器下,x是不一样的,是e或者是event,而前面所做的工作就是确定这里的x应该是哪个,是这样么?真的很感谢你的回答