检查对象是否具有焦点

时间:2009-10-07 17:01:43

标签: c# .net asp.net javascript visual-studio

如何确定某个文本框是否具有焦点?我在.NET中用C#编写。

2 个答案:

答案 0 :(得分:4)

您必须使用javascript事件OnFocusOnBlur,并设置某种变量。基本上是:

<script>
   var lastFocus=null;

    function DoesControlHaveFocus(var control){return control==lastFocus;}
</script>
<input type="text" onfocus="lastFocus=this" onblur="lastFocus=null"/>

FOR一个可以在代码隐藏中使用的版本,你可以在OnFocus命令中为控件的ID设置一个隐藏字段,然后你可以检查它。

答案 1 :(得分:3)

由于性能可能是通用解决方案的问题,到目前为止我遇到的最简单的事情如下:

  1. 订阅您关注的每个控件的onFocus事件。
  2. 在onFocus处理程序中,将一个全局变量(可能是“lastFocusElement”)设置为刚刚获得焦点的元素。
  3. 当您需要知道某个控件具有焦点时,请与“lastFocusElement”变量进行比较。