解决WEB页面上"焦点控制"一法 tintown [原作]

原创 2004年08月20日 16:26:00
解决WEB页面上"焦点控制"一法

对于B/S的系统,在页面控制上不如C/S系统那么控制灵活,就如输入的焦点问题,客户都很想通过键盘对数据进行录入,这样的要求我想100个客户中会有90个吧.

因此解决焦点获取问题是必要的.大家可以从网上找到一些方法,不过都比较麻烦,我现在介绍一种很方便的.效果也很不错的方法给大家.

我前段时间看了MS的ASP.NET讲座,在里面谈到了如何让"回车键"使文本框的焦点一个个下移.其中提了三种方法,最好的一种是这样的:

 用客户端脚本在页面添加document的onkeydown事件,让页面在接受到回车事件后,进行Tab键的功能,即只要把event的keyCode由13变为9

 VBScript代码:

 <script language="vbscript">

 sub document_onkeydown

    if event.keyCode=13 then

      event.keyCode=9

   end if

 end sub

</script>

Javascript代码如下:

<script language="javascript" for="document" event="onkeydown">

<!--

  if(event.keyCode==13)

     event.keyCode=9;

-->

</script>

这样的处理方式,可以实现焦点往下移动,但对于按钮也起同样的作用,一般的客户在输入完资料以后,跳到按钮后,最好能直接按"回车"进行数据的提交.因此,对上面的方法要进行一下修改,应该对于"提交"按钮不进行焦点转移.而直接激活提交.

 

因此我对上面的代码进行了一个修改,即判断事件的"源",是否为提交按钮,代码如下:

<script language="javascript" for="document" event="onkeydown">

<!--

  if(event.keyCode==13 && event.srcElement.type!='button' && event.srcElement.type!='submit' && event.srcElement.type!='reset' && event.srcElement.type!='')

     event.keyCode=9;

-->

</script>

判断是否为button, 是因为在HTML上会有type="button"

判断是否为submit,是因为HTML上会有type="submit"

判断是否为reset,是因为HTML上的"重置"应该要被执行

判断是否为空,是因为对于HTML上的"<a>链接"也应该被执行,这种情况发生的情况不多,可以使用"tabindex=-1"的方式来取消链接获得焦点.

以上是我个人观点,我是在ASP.NET中进行系统开发的,我会把这个客户端脚本放在"BasePage"中,其他页面都会继承他,从而可以在很多页面进行控制. 如有其他好办法,希望大家讨论.

解决WEB页面上"焦点控制"一法

  • zgqtxwd
  • zgqtxwd
  • 2008-04-24 09:30:00
  • 104

解决WEB页面上"焦点控制"一法

解决WEB页面上"焦点控制"一法 对于B/S的系统,在页面控制上不如C/S系统那么控制灵活,就如输入的焦点问题,客户都很想通过键盘对数据进行录入,这样的要求我想100个客户中会有90个吧.因此解决焦点...
  • linyi211314
  • linyi211314
  • 2007-06-11 11:42:00
  • 343

在机顶盒上控制网页焦点的方法

在机顶盒上控制网页焦点的方法 之所以写本文,是因为之前在android机顶盒上处理过焦点的问题。目前看到很多IPTV的盒子中,展示的界面不再使用native app,也是因为工作需要,所以尝试看了一...
  • ForeverSunshine
  • ForeverSunshine
  • 2016-02-24 09:13:06
  • 3632

圆锥曲线基本性质(二)

椭圆/双曲线/抛物线 焦点弦端点在对应准线上投影与其交叉连线在对称轴的交点平分焦准连线椭圆/双曲线/抛物线 与圆有四个交点,则对应边的斜率互为相反数过Q(t,0)Q(t,0)的直线交 椭圆/双曲线 于...
  • beginendzrq
  • beginendzrq
  • 2017-04-26 02:44:55
  • 523

C#如何在Form启动时控制焦点落在某一个控件上?

http://www.cnblogs.com/emituofo/archive/2011/11/15/2249636.html 在C#中新建一个窗体应用程序。如图,从工具箱向窗体(F...
  • u011981242
  • u011981242
  • 2016-04-15 11:00:33
  • 1280

网页中用回车键切换input焦点换行

$(function () { $('input:text:first').focus(); //获取第一个焦点 var $inp = $('input:text'); //定义全部...
  • hades_win
  • hades_win
  • 2017-01-10 14:11:23
  • 1023

AndroidTV 的焦点控制问题

最近在做有关安卓TV的相关项目,与手机端的安卓开发不同的是,TV端需要我们对焦点进行一定的处理,才使得整个程序的逻辑符合我们的要求。在电视上进行操作,一般只能通过遥控的上下左右以及确认键来进行焦点的转...
  • DavidWillo
  • DavidWillo
  • 2017-03-16 11:09:00
  • 358

Android_TV盒子开发_焦点控制

Android的互联网电视客户端,开发与phone/pad差不多,但是有一个值得注意的地方就是焦点控制的问题。 在TV上做应用开发,由于TV呈现的界面比较大,上面放的View/layout也比较多,...
  • Corey_Jia
  • Corey_Jia
  • 2015-03-30 11:25:45
  • 1271

android的focus问题

因为工作关系,涉及到很多的安卓物理键盘引起的Focus问题。汗,我估计在Android code这群人里,每天要和Focus问题打交道的少之又少了吧,现在好多应用在设计时很少考虑物理键盘或者蓝牙键盘了...
  • serapme
  • serapme
  • 2015-05-15 19:57:00
  • 656

web页面上的打印控制

参考:http://schemas.microsoft.com/intellisense/ie5">看看.Noprint{display:none;}.PageNext{page-break-afte...
  • sylmoon
  • sylmoon
  • 2005-11-30 12:43:00
  • 1021
收藏助手
不良信息举报
您举报文章:解决WEB页面上"焦点控制"一法 tintown [原作]
举报原因:
原因补充:

(最多只允许输入30个字)