顯示廣告
隱藏 ✕
看板 DISP_BBS
作者 Knuckles(阿德)
標題 修正了發表文章時的快速鍵問題
時間 2009年04月18日 Sat. PM 06:47:41


原本在FireFox發表文章時,按ctrl+s會另外又跳出另存網頁的對話框
而無法用javascript的preventDefault()取消掉
而在FireFox中又把ctrl+幾乎每個字母的快速鍵都用掉了
所以之前只好做成按Esc會跑出一個選單,然後再按一個字母來選擇功能的方式

可是這樣實在太麻煩了,研究了好久,終於找到為什麼不能取消預設快速鍵的原因
因為我之前加上了onbeforeunload的功能
不管由任何方式離開發表文章這個網頁時,會先跳出確認視窗,以避免寫好的文章不小心被關掉
而只要有確認視窗跳出來,preventDefault()就會失效

雖然我也不知道這是什麼道理,不過反正別讓確認視窗跳出來就好了
所以改成自己寫一個顯示在頁面上的確認畫面:

確定要存檔並離開嗎? 確定(Enter) 取消(Esc)

並且在onbeforeunload中設定經由自己寫的確認畫面離開時,不要跳出確認視窗
所以現在就可以自由在發表文章的介面使用各種 ctrl+字母 的快速鍵了

目前設定了
ctrl+h 會切換那個僅限板友閱讀的選項是否要打勾
ctrl+s 存檔並離開
ctrl+q 不存檔離開
Esc 跳出語法的說明畫面
--
※ 來源: DISP BBS (http://disp.twbbs.org)
※ 作者: Knuckles  來自: 140.112.175.130  時間: 2009-04-18 18:47:41
※ 編輯: Knuckles  來自: 140.112.175.130  時間: 2009-04-18 18:54:33
※ 編輯: Knuckles  來自: 140.112.175.130  時間: 2009-04-18 21:25:27
※ 看板: DispBBS 文章推薦值: 0 目前人氣: 0 累積人氣: 92 
 ‧
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇