破网录

Firefox大战IEnet

导航

Blog统计

文章

收藏

相册

相关链接

存档


正在读取评论……
看到很多人抱怨Firefox不能使用ctrl+enter发贴,开始还以为这是一个IE为textarea增加的快捷键,做了几个test case试了以后才知道这并不是IE的功能.
很多报这个问题的人使用的是Dvbbs,找到Dvbbs的代码一看才知道这是Dvbbs自己实现的一个功能.在实现这个功能的时候,对IE和非IE浏览器做了不同的处理.看代码:
代码:

   if (Dvbbs_bIsIE5){
      var Dvbbs_bodyTag="<style type=text/css>.quote{margin:5px20px;border:1px solid #CCCCCC;padding:5px; background:#F3F3F3}\nbody{boder:0px}.HtmlCode{margin:5px 20px;border:1px solid#CCCCCC;padding:5px;background:#FDFDDF;font-size:14px;font-family:Tahoma;font-style: oblique;line-height : normal;font-weight:bold;}\nbody{boder:0px}</style></head><BODYbgcolor=\"#FFFFFF\" title=\"Ctrl+Enter直接提交贴子\"onkeydown=\"ctlent();\">";
   }else
   {
      var Dvbbs_bodyTag="<styletype=text/css>.quote{margin:5px 20px;border:1px solid#CCCCCC;padding:5px; background:#F3F3F3}\nbody{boder:0px}.HtmlCode{margin:5px 20px;border:1px solid#CCCCCC;padding:5px;background:#FDFDDF;font-size:14px;font-family:Tahoma;font-style: oblique;line-height : normal;font-weight:bold;}\nbody{boder:0px}</style></head><BODYbgcolor=\"#FFFFFF\">";
   }

在为IE实现的代码部分多了一个事件处理
代码:

onkeydown=\"ctlent();\"

而为非IE浏览器就没有.
再看这个事件处理调用的函数:
代码:

function ctlent(){
   var ispost=0;
   if (document.all)
   {
      if(event.ctrlKey && event.keyCode==13)
      {
      Dvbbs_CopyData('Body')
      Checkdata()
      if (ischeck==true){this.document.Dvform.submit();}
      }
   }
}

就是处理ctrl+enter提交表单的.
好了,结论就有了.这并不是一个兼容性的问题,因为论坛根本就没有为非IE浏览器实现这个功能.


Trackback: http://tb.donews.net/TrackBack.aspx?PostId=327784


[点击此处收藏本文]  发表于2005年04月08日 4:52 PM




正在读取评论……
大名
网址
验证码
评论