javascript - 即使我需要设置我的 webView contentEditable=true,我怎样才能阻止键盘出现?

标签 javascript html ios cocoa-touch uiwebview

我正在使用 webView 来显示文本内容,并且我正在尝试使用 javascript 来突出显示用户选择的文本。这在 contentEditable = yes 时成为可能,但每当用户点击任何文本时也会调出键盘。

如何让 contentEditable = yes,但不显示键盘以使文本可编辑?

编辑:这是我用来突出显示的代码

- (void)highlight {
     NSString *currentColor = [webView stringByEvaluatingJavaScriptFromString:@"document.queryCommandValue('backColor')"];
     if ([currentColor isEqualToString:@"rgb(255, 255, 0)"]) {
         [webView stringByEvaluatingJavaScriptFromString:@"document.execCommand('backColor', false, 'white')"];
     } else {
         [webView stringByEvaluatingJavaScriptFromString:@"document.execCommand('backColor', false, 'yellow')"];
     }
}

我在 this 上找到了它教程。

最佳答案

您需要使用 WebKitFramwork 中的 WebEditingDelegate。然后你可以这样做:

 -(BOOL)webView:(WebView *)shouldBeginEditingInDOMRange:(DOMRange *)range: {
     return NO;
  }

这是 documentation .

关于javascript - 即使我需要设置我的 webView contentEditable=true,我怎样才能阻止键盘出现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21681456/

相关文章:

html - 打印时使用 css 在每页上重复页眉

ios - 从 map 注释标注的过渡

html - 为动态包含的文本设置 div 百分比宽度的纯 css 解决方案

javascript - JSON.parse reviver 函数有 n+1 个键?

javascript - jquery-ui-1.8.2.custom.min.js 主题之间的区别

javascript - 检查合并的数组是否包含来自两个数组的项目并更新合并的数组 JS

html - 文本对齐像在 word 中一样对齐

ios - 核心数据在 swift 中管理对象 - 允许 nil 吗?

ios - 如何在 iOS 8 中测试 http 请求?

javascript - 使用jquery如何调用一个函数并在函数执行完成时从上一个函数调用另一个函数