自己firefox下js程序向ie兼容遇到的几个问题

自己firefox下js程序向ie兼容遇到的几个问题
把firefox下js程序向ie兼容,一直用firefox调试,今天在ie下跑跑遇到了很多问题。
1.程序中用到prototype.js,对于事件监听,我一直这样处理
Event.observe(job.jobDiv.timeDiv, "mousedown", eway.TimeTableDiv.selectMoveJobDiv);
在firefox下完全正常,但在ie下就找不到视图所附加的对象了,改回来
job.jobDiv.timeDiv.onmousedown =  eway.TimeTableDiv.selectMoveJobDiv
这样两个浏览器都可以跑。附一个简单的测试
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN" >
< html >
< head >     
< title ></ title >
< script  src ="lib/prototype/prototype.js"  type ="text/javascript" ></ script >
< script >
window.onload
= function (){
  
var  b = new  Button( " wokao " ,$('simple'));
  }  
function  Button(value,domEl){
  
this .domEl = domEl;
  
this .value = value;
  
this .domEl.buttonObj = this ;
//   this.domEl.onclick=this.clickHandler;
  Event.observe( this .domEl,  " mousedown " this .clickHandler);
}

Button.prototype.clickHandler
= function (){
  
var  buttonObj = this .buttonObj;
  
var  value = (buttonObj  &&  buttonObj.value)  ?
    buttonObj.value : 
" unknown value " ;
  alert(value);
}
</ script >
< div  class ="resizeMe"  id ="simple" >
    
< p > This is just a clean DIV </ p >
</ div >
</ body >
</ html >
2.处理td的跨行和跨列,都必须这样写
td.setAttribute( " rowSpan " , 2 );
td.setAttribute(
" colSpan " , 2 );
注意 rowSpan colSpan中间字母都是大写的,而写成rowspan,colspan在firefox下是没有任何问题的。
3.在拖拽层的时候会出现鼠标经过的文字被选中的现象,解决这个问题非常简单,当你开始拖拽前即你用鼠标点中你想要拖拽的层,这时候对事件进行处理
e = e || window.event;
if (e.stopProgation){
e.stopPropagation();
}
else {
e.cancelBubble 
=   true ;
}
if (e.preventDefault){
e.preventDefault();
}
else {
e.returnValue 
=   false ;

如果使用
prototype.js,可以简单为一行代码
Event.stop(e);



http://www.blogjava.net/ronghao 荣浩原创,转载请注明出处:)

你可能感兴趣的:(自己firefox下js程序向ie兼容遇到的几个问题)