Javascript n00b here,这个问题之前已经被问过,但没有给出直接的答案。
我试图在视图加载时为可编辑的 UIWebView 启动键盘。
到目前为止,我有以下代码
在 index.html 中:
<html>
<head>
<script Language="text/javascript">
function showKeyBoard(){
document.forms['myform'].elements['mytextfield'].focus();
}
</script>
</head>
<body OnLoad="document.myform.mytextfield.focus();">
<form name="myform">
<textarea type="text" name="mytextfield" cols="40">Tap here to enter text</textarea>
</form>
</body>
</html>
在我的视图控制器中,我有:
-(void)viewDidLoad
{
[super viewDidLoad];
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]isDirectory:NO]]];
}
同一个视图控制器也是 webView 的委托,代码如下:
-(void)webViewDidFinishLoad:(UIWebView *)aWebView
{
[aWebView stringByEvaluatingJavaScriptFromString:@"showKeyBoard()"];
}
我的 java 脚本或 iOS 有什么问题吗?
textarea 对于应用程序来说不是必需的,我只包含它以具有可聚焦的表单元素。
我愿意接受任何可以在视图加载时启动 UIWebView 键盘的解决方案。几周来我一直在努力寻找解决方案,但我无处可去。
编辑:当我使用网络浏览器打开 index.html 时,焦点有效。