Clojureで右クリックのイベントハンドラを作成する方法を教えてもらえますか?単純なクリックに対しては「:on」を、右クリックやダブルクリックには慣れています。オンラインで役立つリソースを見つけることができないようです。ありがとう!ClojureScriptを右クリックしますか?
7
A
答えて
7
Googleの閉鎖ライブラリ(Event Handling | Closure Library | Google Developers)が代わりに生のJSの使用されています。
(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
:events (Closure Library API Documentation - JavaScript)名前空間は、個々のイベントの種類を指定するgoog.events.EventType
列挙が含まれています。
<!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 -->
守っ:
- を右クリック(ボタン2)
contextmenu
リスナーを起動します。click
リスナーはそれを見ません(リスナーがcontextmenu
でなくても)。 - 2回目の右クリックはコンテキストメニューを閉じますが、どちらのリスナも起動しません。
5
om
を使用して、コンテキストメニューのイベントとして右クリックしました。ボタンの数は、右ボタンの2です:
{:onContextMenu (fn [e]
(prn e (.-button e)))}
またはプレーンHTML + cljs中:
ClojureScriptでよく<div id="btn">Click me</div>
(.addEventListener (.getElementById js/document "btn")
"contextmenu" (fn [e] (prn e (.-button e))))
関連する問題
- 1. ブックマークレット - 右クリックしますか?
- 2. タイトルバーを右クリックするまでアクセスフォームがフリーズしましたか?
- 3. アップルスクリプトファイルを右クリック
- 4. メインメニューを右クリック
- 5. 右クリックを読むクリック数
- 6. ロボットのクラスを右クリックしてから左クリックする問題
- 7. イメージを右クリックしてシミュレート
- 8. コンテキストメニューを右クリックして
- 9. .debにgdebiを追加するには右クリックしますか?
- 10. 右マウスボタンにバインドする方法knockoutJsをクリックしますか?
- 11. VueJSの右クリックと右クリックイベント
- 12. 左クリックまたは右クリックの場合
- 13. 右クリック保存のHREF属性を変更しますか?
- 14. マウスから左クリックを検出できますか?またはCtrl +右クリック?
- 15. カスタムメニュー/コンテキストメニューマウスオーバーまたは右クリック
- 16. 右クリックからのディレクトリパス
- 17. Silverlight Toolkit ContextMenu:どのコントロールを右クリックしましたか?
- 18. Extjsコンテキストメニュー(右クリック)
- 19. Kivy Python右クリック
- 20. 右クリックJButton
- 21. 右クリックjquery
- 22. WinForms ListBox右クリック
- 23. 右クリック、テキストキャプチャ
- 24. AutoHotKey右クリック
- 25. Objective-C:NSStatusBar右クリックと左クリック
- 26. HTML DIVを右クリックしてキャプチャする
- 27. 右クリックで「コンテキストメニュー」を無効にして右クリックで関数を呼び出す必要があります
- 28. Clojurescript
- 29. PyQt-どの列が右クリックを受け取りましたか?
- 30. 右側の点をクリックしてフォームをスライドショーします
参照してください。http://stackoverflow.com/questions/2405771/is-right-click-a-javascript-event – edbond
ありがとうございますが、それはClojureではなくJavascriptです。 JSはClojureのフードの下で動作していますが、Clojureでコードスニペットを探していることを理解しています。 –