Advertisement
Guest User

Select First

a guest
Sep 28th, 2016
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (defn select-first-on-enter
  2.   [input-id]
  3.   (let [input (.getElementById js/document input-id)]
  4.     (events/listen
  5.       input (clj->js [event-types/KEYDOWN event-types/BLUR])
  6.       (fn [event]
  7.         (js/console.log "Event fired!")
  8.         (let [key-code (or (.-keyCode event) (.-which event))]
  9.           (js/console.log (str "Event fired! : " key-code))
  10.           (cond
  11.  
  12.             (and
  13.               (or (= key-codes/ENTER key-code) (= key-codes/TAB key-code))
  14.               (not (gdom/getElementByClass ".pac-item-selected")))
  15.             (do
  16.               (js/console.log "tab or enter")
  17.               (.dispatchEvent input
  18.                               (js/KeyboardEvent.
  19.                                 event-types/KEYDOWN
  20.                                 (clj->js {:keyCode key-codes/DOWN
  21.                                           :which key-codes/DOWN
  22.                                           :key "down"
  23.                                           :code key-codes/DOWN})))
  24.               (js/console.log "faked down"))
  25.  
  26.  
  27.  
  28.             (= "blur" (.-type event))
  29.             (set! (.-value input) (.-textContent
  30.                                     (.querySelector js/document ".pac-container .pac-item:first-child")))
  31.  
  32.             :else nil)
  33.  
  34.           )))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement