fix: CodeMirror shortcuts cause page routing

pull/8425/head
situ2001 2023-01-23 12:32:47 +08:00 committed by Gabriel Horner
parent 6ad521aea6
commit e2ff4b9600
1 changed files with 12 additions and 0 deletions

View File

@ -226,6 +226,18 @@
{:editor editor {:editor editor
:config config :config config
:state state}))) :state state})))
(.addEventListener element "keydown" (fn [e]
(let [key-code (.-code e)
meta-or-ctrl-pressed? (or (.-ctrlKey e) (.-metaKey e))]
(when meta-or-ctrl-pressed?
;; prevent default behavior of browser
;; Cmd + [ => Go back in browser, outdent in CodeMirror
;; Cmd + ] => Go forward in browser, indent in CodeMirror
(case key-code
"BracketLeft" (util/stop e)
"BracketRight" (util/stop e)
nil)))))
(.addEventListener element "mousedown" (.addEventListener element "mousedown"
(fn [e] (fn [e]
(util/stop e) (util/stop e)