javascript - GWT 焦点元素与 Javascript 焦点

标签 javascript gwt vaadin

我试图了解从 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/

相关文章:

java - GWT DatePickerCell 显示 "empty"日期?

java - 如何识别 SelectedTabChange Listener 中选定的选项卡?

java - Vaadin 图表 – 将标题和图例放在同一行?

vaadin - 使用 Vaadin 14 初始化 VaadinServlet 时出现 NullPointerException

gwt - 如何使用最大高度和溢出-y : scroll? 自动滚动 GWT SuggestBox

javascript - 使用 JavaScript 设置属性时是否需要转义属性?

javascript - 如何使用基于函数的 React 将状态传递给子组件?

javascript - 为什么逗号 ' , ' 和加号 ' + ' 以不同的模式记录控制台输出?

javascript - 打印时绝对定位元素的位置不正确

java - 在 GWT 中对齐 SimplePanel 中的内容