簡體   English   中英

在“打開文件”對話框上按Escape鍵會觸發JavaScript鍵按下

[英]Pressing Escape Key on Open File Dialog Fires a JavaScript Key Press

我設置了一個HTML對話框,以便在按Escape鍵時將其自身刪除。 我在HTML對話框中有一個文件字段。 如果用戶使用系統文件對話框為HTML對話框中的file字段選擇文件,然后按Escape鍵,則該事件將關閉系統對話框,並且還將Escape鍵事件傳遞給瀏覽器,瀏覽器也會關閉HTML對話框。 我希望HTML對話框保持打開狀態,並且不希望該事件觸發瀏覽器。

我怎樣才能解決這個問題?

更多信息:此行為在Firefox中。

如果使用的是jQuery uI對話框,則可以在beforeClose事件中檢查轉義鍵,然后使用e.preventDefault使其停止關閉:

$( ".selector" ).dialog({
   beforeClose: function(event, ui) {
                 if(event.keyCode == 27) {  
                     alert("Esc key tried to close the dialog");
                     event.preventDefault();
                 } else {  
                     alert("You used something other than the escape key to close the dialog.");  
                 }
   }
});

唯一的缺點是,如果您希望在未打開系統文件對話框的情況下允許使用轉義鍵關閉對話框,則這將無法正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM