我试图了解从 Vaadin 组件调用的 focus() 方法(它指向元素上的 GWT focus() 方法)和在浏览器中执行的 javascript 之间的区别,后者使用简单的 focus 方法将焦点设置到元素。
GWT:
/**
* Gives keyboard focus to this element.
*/
public final native void focus() /*-{
this.focus();
}-*/;
Javascript:
document.getElementById('elementId').focus();
当我使用 GWT 设置焦点时,元素的行为就像它通过键盘获得焦点(它获得额外的 :focus css 类)。使用 javascript 时,不会添加这种样式。真正的区别在哪里?
最佳答案
我认为 GWT focus()
之间没有任何真正的区别。和 Javascript 元素 focus()
因为他们在后台调用相同的方法。
在下面的代码片段中,我调用了 Javascript focus()
单击按钮。 <a>
得到正确的 :focus
注重实用的 CSS 样式。
function doFocus() {
document.getElementById("testAnchor").focus();
}
function doBlur() {
document.getElementById("testAnchor").blur();
}
a:focus, a:active {
color: red;
}
<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">
关于javascript - GWT 焦点元素与 Javascript 焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45867961/