Qualcuno potrebbe dirmi come produrre un gestore di eventi con il tasto destro del mouse in Clojure? Ho familiarità con ": on-click" per clic semplici ma non per clic destro o doppio. Non riesco a trovare alcuna risorsa utile online. Grazie!Fare clic con il tasto destro su ClojureScript?
7
A
risposta
7
frequenti nella ClojureScript biblioteca di Google Closure (Event Handling | Closure Library | Google Developers) viene usato al posto di JS grezzo . Il events (Closure Library API Documentation - JavaScript) spazio dei nomi contiene la goog.events.EventType
enumerazione che specifica ogni tipo di evento individuale:
(ns test.core
(:require [goog.dom :as dom]
[goog.events :as events]))
(letfn [(menu-listener [event]
(.log js/console (str "contextmenu " (.-button event))))
(click-listener [event]
(let [btn (.-button event)
msg (if (= btn 2) "Right-click" (str "Button " btn))]
(.log js/console msg)))]
(events/listen (dom/getElement "click-target") "contextmenu" menu-listener)
(events/listen (dom/getElement "click-target") "click" click-listener))
;; src/test/core.cljs
.
<!DOCTYPE html>
<html>
<head>
<title>contextmenu</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<p id="click-target">Right click on me</p>
<script src="out/test.js" type="text/javascript"></script>
</body>
</html>
<!-- index.html -->
Rispettare:
- A destro del mouse (tasto 2) spara il
contextmenu
ascoltatore. Il listenerclick
non riesce a vederlo (anche se non c'è il listenercontextmenu
). - Un secondo clic con il pulsante destro del mouse disattiverà il menu di scelta rapida ma nessuno dei due ascoltatori verrà attivato.
5
Utilizzo di om
Ho ottenuto il tasto destro del mouse come evento del menu di scelta rapida. numero di Button è 2 per tasto destro:
{:onContextMenu (fn [e]
(prn e (.-button e)))}
o in semplice HTML + cljs:
<div id="btn">Click me</div>
(.addEventListener (.getElementById js/document "btn")
"contextmenu" (fn [e] (prn e (.-button e))))
Problemi correlati
- 1. Fare clic con il tasto destro su un evento Javascript?
- 2. Cacao: Fare clic con il tasto destro su NSStatusItem
- 3. Fare clic con il tasto destro su JButton
- 4. Fare clic con il tasto destro su JavaFX?
- 5. autohotkey ctrl + clic = tasto destro
- 6. Come eseguire il binding con il tasto destro del mouse per fare clic su knockoutJs?
- 7. WinForms ListBox Clic con tasto destro
- 8. Fare clic con il tasto destro in Python usando i tipi di carattere
- 9. Personalizza server oggetti Sql Explorer Fare clic con il tasto destro del menu voci
- 10. ottenendo testo del collegamento ipertestuale su Chrome fare clic destro
- 11. fare clic su Disattiva destro e attivare tasto sinistro per contextmenu in WPF utilizzando MVVM
- 12. Tasto destro contextMenu su QPushButton
- 13. Fare clic con il pulsante destro del mouse su .Net TreeNode
- 14. Come posso attivare il clic destro se si fa clic con il tasto sinistro su un elemento html usando jQuery?
- 15. Visual Studio: c'è un modo semplice per aggiungere "Chiudi soluzione" per fare clic con il tasto destro su Solution Explorer
- 16. Come applicare una stringa con il tasto destro su stringWithFormat
- 17. Silverlight Datagrid selezionare con il tasto destro del mouse
- 18. come si può fare clic destro con selenio?
- 19. come fare clic destro sulla voce da Listbox e aprire il menu su WPF
- 20. "Git Bash qui" non funziona quando si fa clic con il tasto destro
- 21. Come gestisco gli eventi del clic con il tasto destro in angular.js?
- 22. Rileva il clic destro e sinistro del mouse su NSView
- 23. Fare clic con il pulsante destro del mouse su React JS
- 24. Applescript fare clic con il pulsante destro del mouse su un file
- 25. QTreeWidget tasto destro del menu di scelta
- 26. Driver X11 EvDev Touchscreen: disabilita pressione prolungata Fare clic con il tasto destro del mouse sul desktop
- 27. perché facendo clic con il tasto destro si crea un punto arancione al centro del cerchio?
- 28. Disabilita clic destro in silverlight
- 29. Rileva il tasto destro del mouse Safari di Safari
- 30. DataGridView tasto destro del mouse/copia esempio?
vedere http://stackoverflow.com/questions/2405771/is-right-click-a-javascript-event – edbond
Grazie, ma questo è per Javascript non Clojure. Capisco che JS sta correndo sotto il cofano di Clojure ma sta cercando un frammento di codice in Clojure. –