我试图理解从Vaadin组件调用的focus()方法(它指向元素上的GWT focus()方法)和浏览器中执行的javascript之间的区别是什么,它使用简单的焦点方法将焦点设置为元素。 / p>
GWT:
/**
* Gives keyboard focus to this element.
*/
public final native void focus() /*-{
this.focus();
}-*/;
使用Javascript:
document.getElementById('elementId').focus();
当我使用GWT设置焦点时,元素的行为类似于通过键盘获得焦点(它获得额外的:焦点css类)。使用javascript时不会添加此样式。真正的区别在哪里?
答案 0 :(得分:0)
我不认为GWT focus()
和Javascript元素focus()
之间存在任何真正的差异,因为他们在引擎盖下调用相同的方法。
在下面的代码段中,我在按钮点击时调用了Javascript focus()
。 <a>
在实用焦点时获得正确的:focus
CSS样式。
function doFocus() {
document.getElementById("testAnchor").focus();
}
function doBlur() {
document.getElementById("testAnchor").blur();
}
&#13;
a:focus, a:active {
color: red;
}
&#13;
<a id="testAnchor" href="#">This is a test link</a>
<p>Click the buttons to focus or blur the above test link.</p>
<p>The link should turn red when it is focused.</p>
<input type="button" onclick="doFocus()" value="Focus">
<input type="button" onclick="doBlur()" value="Blur">
&#13;