xiz*_*zor 5 javascript contenteditable uiwebview ios5
首先,我知道只有iOS 5才能解决这个问题 - 我们正在为iOS 5用户提供一个功能,允许使用contenteditable进行Rich Text粘贴.到目前为止,此功能非常有用,我想要做的就是当视图显示将contenteditable字段设置为活动状态时(预先选择它),以便键盘出现并且用户可以立即开始键入.这是我用于UIWebView的本地html文件
<html>
<body>
<div id="content" contenteditable="true" style="font-family: Helvetica">PLACEHOLDER</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用一些javascript来完成这个使用我发现的预选文本输入的教程.即使我试图切换到文本输入字段进行测试,我也无法使用它.这可能是由于我对javascipt缺乏经验所以如果这是解决方案请明确(因为我完全不熟悉javascript).
谢谢你的帮助
现在如果有人想在iOS 6中实现这一点,他可以像这样以编程方式打开iOS键盘,
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
// keyboardDisplayRequiresUserAction available in iOS >= 6
if ([webView respondsToSelector:@selector(setKeyboardDisplayRequiresUserAction:)]) {
webView.keyboardDisplayRequiresUserAction = NO;
}
}
Run Code Online (Sandbox Code Playgroud)
然后,
- (void)webViewDidFinishLoad:(UIWebView *)webView {
// Assuming that you're using jquery. If not, use document.getElementById('YourInputElementID')
NSString *evalStr = [NSString stringWithFormat:@"setTimeout( function(){$('#YourInputElementID').focus();},1000);"];
[webView stringByEvaluatingJavaScriptFromString:evalStr];
}
Run Code Online (Sandbox Code Playgroud)
这将在1秒后运行此JavaScript.为了安全起见,您应该在加载聚焦元素时调用聚焦代码.
遗憾的是,您无法在 Mobile Safari 中执行此操作。我相信苹果选择限制这种情况的发生,因为当你访问某些网站(例如谷歌)时,搜索字段会立即获得焦点。如果用户访问的每个网站都会弹出键盘,这对用户来说会非常烦人。在桌面上这种行为并不重要,但在移动设备上却非常明显。
| 归档时间: |
|
| 查看次数: |
3713 次 |
| 最近记录: |