Javascript n00b在这里,之前已经提出过这个问题,但没有给出直截了当的回答。
我正在尝试在视图加载时为可编辑的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时,焦点就会起作用。
答案 0 :(得分:5)
从iOS 6开始,您可以设置[aWebView setKeyboardDisplayRequiresUserAction:NO]。