我想在 GWT 中选择一个文本:
我有一种在 Firefox 中选择文本但在 Chrome 中出现错误的方法:
public native void markThisText(Element elem) /*-{
if ($doc.selection && $doc.selection.createRange) {
var range = $doc.selection.createRange();
range.moveToElementText(elem);
range.select();
} else if ($doc.createRange && $wnd.getSelection) {
var range = $doc.createRange();
range.selectNode(elem);
var selection = $wnd.getSelection();
selection.removeAllRanges();
selection.addRange(range);
}
}-*/;
错误日志:
Caused by: com.google.gwt.core.client.JavaScriptException: (INVALID_NODE_TYPE_ERR):
INVALID_NODE_TYPE_ERR: DOM Range Exception 2 at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:248
) at
com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136) at
com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561) at
com.google.gwt.dev.shell.ModuleSpace.invokeNativeVoid(ModuleSpace.java:289) at
com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java:107)
你知道为什么吗?谢谢