一个多浏览器支持的背景变暗的div并可拖动提示窗口功能的代码

   [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  IE7.0、Firefox2.0、Opera9.0测试通过

  欢迎大家指教批评

  前段时间一直在研究Js,网上有很多关于兼容浏览器方面的文章,给大家找了几个:

  http://blog.csdn.net/zqian1987/archive/2008/03/02/2140055.aspx

  http://www.cnblogs.com/jacklong/archive/2008/01/10/1033954.html

  下面写写我这段时间的一些心得,主要介绍兼容IE和FireFox方面,Opera9.0前的版本好像N多东西不支持,暂时不介绍,Opera9.0以后的版本在Javascript解释方面和FireFox比较接近。

  我介绍的都是一些细节方面的东西,侧重于写一些不常见的情况,想到新的我会持续补充:

  1、创建一个Element,通用的写法为createElement("div")

  IE中也可以这样写createElement("<div style='color:#FFFFFF'>"),但Firefox不认

  2、IE中的width、height与Firefox中概念不同,IE中width=FireFox中的width+2*borderWidth+2*Padding

  参见:http://help.powereasy.net/Template/WEB/1557.html

  3、动态添加css代码

  cssStr = "p { color:#FF0000;} a { font-size:9pt;}";

  var style = win.document.createStyleSheet();

  style.cssText = cssStr;FireFox:复制内容到剪贴板代码:

  cssStr = "p { color:#FF0000;} a { font-size:9pt;}";

  var style = win.document.createElement("style");

  style.type = "text/css";

  style.innerHTML = cssStr;

  win.document.getElementsByTagName("HEAD").item(0).appendChild(style); 4、table在后面添加加行或列,通用写法insertRow(-1),insertCell(-1)

  IE中insertRow(),insertCell()这样写也可以,Firefox不认

  5、警告对话框alert(),IE中书写时无参数则默认参数为空字符串,Firefox中则必须输入参数,传空参数则要写成alert("");

  6、给element.style.width赋值必须写成24px,只写数字24的话,FireFox会不认,IE里都可以

  7、在使用Element,并给其绑定了onclick、onmouseover、onmousedown、onmouseout等事件

  element.onclick = function() { alert("hello kitty"); };

  时,需注意

  将此元素添加到上级元素上时要用appendChild,不可以在上级中使用innerHTML操作,这样会使事件无效