Javascript 选择GWT中的文本
我想在GWT中选择一个文本: 我有一种方法可以在Firefox中选择文本,但在Chrome中会出现错误:Javascript 选择GWT中的文本,javascript,gwt,java-native-interface,Javascript,Gwt,Java Native Interface,我想在GWT中选择一个文本: 我有一种方法可以在Firefox中选择文本,但在Chrome中会出现错误: public native void markThisText(Element elem) /*-{ if ($doc.selection && $doc.selection.createRange) { var range = $doc.selection.createRange(); range.moveTo
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)
你知道为什么吗?谢谢您可能会发现以下内容很有帮助:
您的示例选择了一个税种,而不是选择一个文本,不是吗?我有一个“无法读取属性'getSelection'”的未定义“对不起,我误解了这个问题。看看类似的问题-它有一个很好的答案。这对我不是很有帮助…正如我在网上读到的,对于范围为.setNode的webkit浏览器(safari和chrome)有一个问题。。。