ユーザーがバックスペースキーを押すたびに現在のページを前のページに設定するSafari Webブラウザの動作を処理する方法を知っている人はいますか?バックスペース/ Deleteキーを使用してフィールドを修正しようとしているときは、Mac OSX Lion 10.7.2とSilverlightアプリケーションでこの問題が発生しています。Safari Mac OSXのバックスペースに関する問題
答えて
私はこれまでもこの問題を抱えていました。私は解決策を考え出すしようとして良い一週間ほど過ごし、そして最終的にこの問題を回避するための最善の方法は、(私はいわば「修正」は見つかっていない)以下の通りであった:
はすべてサスペンドJavascriptを使用したバックスペースキーダウンイベントのバックスペースイベントがSilverlightコンテナに到達することを許可しないでください。これは、Silverlightがこれ以上前のページに移動しないことを意味しますが、テキストフィールド内のテキストも削除することはできません。ポイント2は、これを回避する方法を説明します。
KeyUp
イベントハンドラーをSilverlightコントロールのRootVisual
に添付します。KeyEventArgs
'元のソースがTextFieldで、キー自体がKey.Back
だった場合、テキストボックス内の一部のテキストを手動で削除する必要があります。これを行うには、TextBoxのSelectionStart
とSelectionLength
のプロパティを調べます。SelectionStart
には削除する場所が表示され、SelectionLength
には削除する文字の数が表示されます。最後に、カーソルがどこにあるべきかの正しい場所を調べる必要があります。これはちょうどSelectionStart
プロパティの値と等しいはずです。
この方法には欠陥があります。 KeyUp
イベントを手動で聞く必要があるため、Key.Back
KeyUp
イベントは、バックスペースキーが離されたときにのみ発生します。つまり、Safariを使用してバックスペースを押したままにすると、1文字だけが削除されます。バックスペースを解除してもう一度押すと、別の文字が削除されます。これは、私の意見では、前のページを見るか、バックスペースをまったく処理しないという選択肢があると考えています。
これはすべてMac/Safari固有のものであることに注意する価値があります。 HtmlPage.BrowserInformation.UserAgent
を使用してブラウザの種類を確認し、ブラウザがSafariの場合にのみRootVisual_KeyUp
ハンドラを添付します。 Safariでjavascriptでバックスペースイベントを一時停止するだけであれば、これはMac/Safariで効果があり、他のすべてのブラウザのデフォルト機能を保持します。
Good Luck!お役に立てれば!
- 1. Zend Server CEとMac OSXのバーチャルホストに関する問題
- 2. バックスペースの問題
- 3. Mac OSX udpate 10.5.7とswingUIの問題点
- 4. wxPython wx.TextCtrl Mac OSX Lionでの問題?
- 5. DockerとMac OSXの権限問題
- 6. cygwin sqlite3バックスペース問題
- 7. mac osx lionでpython3.2をビルドしてインストールする際の問題
- 8. Mac OSX 10.11でSafariでキュウリのテストを実行するSafariの場合
- 9. JavaScriptのデフォルトの問題により、バックスペース....
- 10. Safariブラウザのエラーメッセージ - CSSフォントのインポートに関する問題
- 11. ハイパーリンクの色に関する奇妙なブラウザの問題(FirefoxとiMac上のSafari)
- 12. Mac Selectbox問題
- 13. iOS(4.3)Safariの音声に関する問題(複数のファイル)
- 14. psycopg2のインストールに関する問題OSX Lion
- 15. OSX LionのSinatra + Mustacheに関する問題
- 16. Mac OSX Snow Leopardでアップデートした後のinstall.packages()の問題
- 17. OSX suコマンドの問題
- 18. SafariのCSS間隔に関する問題?
- 19. プレフィックス付きでもChromeとSafariのCSSに関する問題
- 20. ネストされたDivsバックスペースの問題
- 21. Mac-Lion(OSX 10.7)のPHP-FPM停止/リロード問題
- 22. Java vlcj 1.2.2 RTSPクライアントの問題(Mac OSX 10.6)
- 23. OSX 10.7のSafari 5.1でFlash SWFオブジェクトを隠す問題(Safari 5.1の10.6で正常に動作します)
- 24. Safariでのスタイリングの問題
- 25. Safari RSSの問題
- 26. Java Web StartとSafariに関する問題
- 27. Chrome3/Mac OS XのCSS3 @ font-faceローテーションに関する問題
- 28. iPad Safariポップアップ問題
- 29. Safari HTML5オフライン問題
- 30. モバイルSafariビデオに関する質問
なぜ誰かが私の答えに投票しましたか?それは私が苦情なく今使っている完全に実用的な解決策です。なぜ完全な解決策ではないのかを説明しましたが、このSafari/Silverlightのバグが存在する間に見つけ出すことができます。 –