前段时间做一个任务,用到刷验效果,机器刷验需要锁定控件焦点。
逻辑就是当我点击一个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()这样,焦点就能移除