當我按Backspace
時,Web-browser
將轉到上一頁。如何在不阻止清除文本的情況下禁用它?如何在WebBrowser中禁用Backspace
回答
TWebBrowser似乎沒有OnKeydown事件,它也有許多其他問題。我通常會忘記它,並去TEmbeddedWB(嵌入式Web瀏覽器組件包),它具有更好的功能。
我寫了一些代碼,嘗試檢測,如果我們在編輯控件中,只有有條件地阻塞退格鍵,因爲作爲Paktas說,簡單地阻止安其事件將打破編輯在
網頁形式,使用TEmbeddedWB,代碼如下所示:
procedure TForm2.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
element: IHTMLElement;
elementTagName: String;
begin
// form contains field: EmbeddedWB1: TEmbeddedWB which is an improved version of TWebBrowser.
element := EmbeddedWB1.GetActiveElement;
if Assigned(element) then
begin
elementTagName := element.tagName;
end;
if (not SameText(elementTagName, 'INPUT'))
and (not SameText(elementTagName, 'TEXTAREA')) then
if ((Key= VK_LEFT) and (Shift = [ssAlt]))
or ((Key= VK_RIGHT) and (Shift = [ssAlt]))
or (Key= VK_BROWSER_BACK)
or (Key= VK_BROWSER_FORWARD)
or(Key = VK_BACK) then
begin
Key := 0; { block backspace, but not in INPUT or TEXTAREA. }
Exit;
end;
end;
請注意,這將無法捕捉歷史記錄中的任何JavaScript。 – 2011-06-13 18:03:54
+1。好點Jeroen。 – 2011-06-13 18:22:11
此外,您必須禁用右鍵單擊上下文菜單,因爲它們包含後退命令。 – 2011-06-13 18:35:34
這樣做的唯一方法是檢查每個按鍵,如果檢測到退格,則忽略它。但是,您還需要監視是否有任何輸入焦點,以便用戶可以繼續保持向後刪除。
- 1. 在Chrome中禁用BACKSPACE
- 2. 如何禁用python中的webbrowser消息?
- 3. 禁用WebBrowser contextmenu
- 4. 如何WebBrowser控件禁用圖像
- 5. 如何禁用IE11 WebBrowser控件縮放
- 6. 如何在您的應用中禁用WebBrowser'點擊聲音'
- 7. 如何在VB6中的WebBrowser控件中禁用多媒體?
- 8. 在WebBrowser控件中禁用腳本
- 9. 在webBrowser控件中禁用Ctrl + P
- 10. 在WinForms WebBrowser控件中禁用JavaScript?
- 11. 在C中禁用編輯WebBrowser#
- 12. 在WebBrowser控件中禁用腳本?
- 13. 如何防止Backspace在JavaScript中導航?
- 14. 如何使用WebBrowser控件禁用VB6中的緩存?
- 15. 如何禁用JTextArea中的類型字符,但啓用刪除字符(Backspace)
- 16. 禁用對話框webbrowser delphi
- 17. 禁用WPF WebBrowser滾動條
- 18. WebBrowser禁用複製粘貼
- 19. 如何在wpf webbrowser控件上禁用刪除
- 20. 如何在運行webapp後禁用autoopen內部webbrowser?
- 21. 禁用WebBrowser控件中的滾動
- 22. 如何在我們使用Flash時禁用WebBrowser中的右鍵單擊! (Delphi)
- 23. 如何在webbrowser控件中啓用javascript?
- 24. 如何在Windows Phone中使用WebBrowser?
- 25. 如何捕獲WPF/C#中的CTRL-BACKSPACE?
- 26. 在Silverlight中禁用WebBrowser控件中的JavaScript錯誤
- 27. 如何避免在push_back中使用Backspace字符?
- 28. 在VimL中檢測Backspace
- 29. 如何禁用WPF Webbrowser控件上的「右鍵單擊」?
- 30. 如何禁用WPF WebBrowser控件的咔嗒聲?
Alt + Left怎麼樣?關於右鍵點擊並選擇返回?那麼鼠標或鍵盤上的「後退」特殊鍵怎麼辦? – 2011-06-13 11:48:24
您可能想要實施一些OnNavigating事件並拒絕您不喜歡的導航。但我不熟悉WebBrowser控件的細節。 – CodesInChaos 2011-06-13 12:03:27
@Andreas:我阻止了「Alt」和「右鍵單擊」。 – Kermia 2011-06-13 12:15:15