转载:http://blog.csdn.net/remote_roamer/article/details/7615717
在UIWebView中,如果我们使用了Input 这个element ,ios会自动弹出 键盘。但是不会自动关闭。
如果我们需要在 UIWebView 中的其他部分点击 来自动关闭这个 键盘。应该怎么处理?
方法如下:
- 首先截获 UIWebView的touch事件。
处理方法可以参考
http://blog.csdn.net/remote_roamer/article/details/7615428
- 在截获触发的事件中使用如下代码即可:
- <pre name="code" class="cpp">//点击后相应的方法
- -(void)handleSingleTap:(UITapGestureRecognizer *)sender{
- CGPoint point = [sender locationInView:self.view];
- NSLog(@"handleSingleTap!pointx:%f,y:%f",point.x,point.y);
- //[self.webView becomeFirstResponder];
- [self.webView stringByEvaluatingJavaScriptFromString:@"document.activeElement.blur()"];
- }</pre><br>
- <pre></pre>
- <br>
- 这个代码的含义是: 由Objective-C代码对UIWebView中的 html 内容发出一个 js指令, 这个指令是<br>
- <pre name="code" class="cpp">document.activeElement.blur()</pre>让html中当前的控件失去焦点。这样就关闭了键盘.
- 所以在html文件中需要加入这个 javascript方法
- document.ontouchmove = function(e)
- {
- e.preventDefault();
- }