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. 右マウスボタンにバインドする方法knockoutJsをクリックしますか?
- 8. カスタムメニュー/コンテキストメニューマウスオーバーまたは右クリック
- 9. 右クリック保存のHREF属性を変更しますか?
- 10. 右クリック、テキストキャプチャ
- 11. 右クリックJButton
- 12. Extjsコンテキストメニュー(右クリック)
- 13. WinForms ListBox右クリック
- 14. 右クリックjquery
- 15. Objective-C:NSStatusBar右クリックと左クリック
- 16. マウスから左クリックを検出できますか?またはCtrl +右クリック?
- 17. Silverlight Toolkit ContextMenu:どのコントロールを右クリックしましたか?
- 18. 右クリックからのディレクトリパス
- 19. HTML DIVを右クリックしてキャプチャする
- 20. 右クリックで「コンテキストメニュー」を無効にして右クリックで関数を呼び出す必要があります
- 21. PyQt-どの列が右クリックを受け取りましたか?
- 22. dataGridViewの行を右クリックして選択します
- 23. gridpanel右クリックして列を削除します
- 24. Windowsエクスプローラで右クリック
- 25. QPushButtonの右クリックcontextMenu
- 26. 右クリックしてオブジェクトをクリックした後のJOptionPane()の方法
- 27. ナビゲーションバーは、風景モードで戻るボタンをクリックすると左から右または右に移動します。
- 28. 右クリックか左クリックかを知るJButtonの作成
- 29. JS:jQuery(インライン)なしで右クリックを検出
- 30. javascript、withouth wmodeを右クリックしてキャプチャ
参照してください。http://stackoverflow.com/questions/2405771/is-right-click-a-javascript-event – edbond
ありがとうございますが、それはClojureではなくJavascriptです。 JSはClojureのフードの下で動作していますが、Clojureでコードスニペットを探していることを理解しています。 –