0

我想在 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)

你知道为什么吗?谢谢

4

1 回答 1

0

您可能会发现这很有帮助:

突出显示文本区域内的文本

于 2012-10-30T15:03:37.453 回答