2011-09-20 6 views
0

UITextViewを(designModeのUIWebViewを使用して)役に立たないと思う前に、JavaScript onKeyUpなどのイベントを処理/キャンセルする方法はありますか?UIWebViewDelegateからjavaScriptイベントを取り消す

AFAIKメッセージは-shouldLoadRequest:& stringByEvaluatingScriptWithStringを介してのみ送信されます。しかし、これらの呼び出しは非同期であり、javaScriptイベントハンドラはすでにstringByEvaluatingScriptWithString:が実行された時点で関数を終了しているため、イベントキャンセルメソッドは機能しません。

この機能がない場合は、shouldReplaceCharactersInStringを実装することは不可能です。たぶん、あなたはブラウザ「のようなサファリ」の私のオープンソース実装確認することができます

答えて

1

:(:この1で https://github.com/sylverb/CIALBrowser

を、私は長いタップ取り扱いを再実装しました、そして標準1を無効にするには、私はこれを使用します:。

遅れて申し訳ありません
- (void) webViewDidFinishLoad:(UIWebView *) sender 
{ 
    // Disable the defaut actionSheet when doing a long press 
    [webView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitTouchCallout='none';"]; 
    [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitTouchCallout='none';"]; 
} 
+0

私は私が私が更新をメールで送信するように設定思ったが、私はいずれかを受けたことがない私は、この明日に目を通すようにするよ、あなたの応答のための – Anderson

+0

おかげで私はあなたの場合、あなたを信じています。。。基本的にjsイベントハンドラを切断し、代わりにiOSタッチイベントをネイティブで処理しました。 – Anderson

+0

私の場合、iOSではキーイベントがネイティブに処理されないため、キーイベントは機能しません。 – Anderson

関連する問題