.net锁定页面控件焦点,限制焦点转移到其他控件上

前段时间做一个任务,用到刷验效果,机器刷验需要锁定控件焦点。

逻辑就是当我点击一个button时候,焦点会移动到一个指定的文本控件上。然后,焦点不能移动到其他控件上,但是能够执行点击的事件。

我主要在button的点击事件写了逻辑。

代码如下

 protected void SERIALSCAN1_Click(object sender, EventArgs e)
    {
        string script = "document.getElementById('S_" + OLDSERIAL.ClientID + "').setAttribute('onblur',test2);";
        executeScript(script);
        script = "document.getElementById('S_" + NEWSERIAL.ClientID + "').focus();";
        executeScript(script);

        script = "document.getElementById('S_" + NEWSERIAL.ClientID + "').setAttribute('onblur',test);";
        executeScript(script);

         }

前台JS

  function test()
    {
    document.getElementById('S_NEWSERIAL').focus();
    }

  function test2()
    {
   
    }

意思其实很简单,主要是为控件设置了onblur属性,来限制焦点,设置完onblur后然后把焦点绑定到指定控件上。这样就能锁定焦点了。

移除焦点锁定很简单,你可以使用removeAttribute方法移除onblur属性,但是,我做的时候这个属性移除很麻烦,我就直接格这个控件

的onblur属性设定了一个空方法,类似于test2()这样,焦点就能移除

posted on 2012-11-27 11:05  孟德思旧  阅读(672)  评论(0编辑  收藏  举报