我創建了一個用於登錄到Facebook的Graph API OAuth界面的UIWebView。這很好,但我必須點擊第一個輸入字段才能彈出鍵盤。理想情況下,只要出現表單,鍵盤就會出現。所以,我一直在試圖找出如何使第一個窗體域從webViewDidFinishLoad:
UIWebViewDelegate方法獲得焦點,就像這樣:如何獲得UIWebView以專注於表單輸入並調出鍵盤?
- (void)webViewDidFinishLoad:(UIWebView *)wv {
[webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('email')[0].focus();"];
}
唉,這是行不通的。奇怪的是,當我在Firefox JavaScript控制檯中運行該JavaScript時,它將焦點移至電子郵件字段。但是,當我在Safari中爲Mac運行它時,它不會像iOS上一樣。 FWIW,alert(document.getElementsByName('email')[0])
確實表明它選擇一個HTMLInputElement。那麼爲什麼focus()
在iOS或Mac OS X中不做任何事情?
我不認爲這是可能的。見http://stackoverflow.com/questions/4199225/how-to-get-mobile-browsers-webkit-in-ios-android-to-display-their-soft-keyboar – Soumya 2010-12-15 05:56:59
謝謝,這有幫助。如果您將其作爲答案,我會將其標記爲正確的答案。 :-) – theory 2010-12-16 05:59:52