質問編集履歴

1

ソースコードの追記

2016/11/23 09:37

投稿

gussan
gussan

スコア7

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,176 @@
1
+ ```Javascript html5 css3
2
+
3
+ 【HTML】
4
+
5
+
6
+
7
+ ①以下のスクリプト、CSSの取り込みを宣言
8
+
9
+ <link href="https://swisnl.github.io/jQuery-contextMenu/dist/jquery.contextMenu.css" rel="stylesheet" type="text/css" />
10
+
11
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
12
+
13
+ <script src="https://swisnl.github.io/jQuery-contextMenu/dist/jquery.contextMenu.js" type="text/javascript"></script>
14
+
15
+ <script src="https://swisnl.github.io/jQuery-contextMenu/dist/jquery.ui.position.min.js" type="text/javascript"></script>
16
+
17
+
18
+
19
+ ②HTMLの右クリック箇所
20
+
21
+ <body>
22
+
23
+ <p><span class="context-menu-one">right click hear!!</span></p>
24
+
25
+ </body>
26
+
27
+
28
+
29
+ 【JavaScript】
30
+
31
+
32
+
33
+ <script type="text/javascript">
34
+
35
+
36
+
37
+ var mainmenu={};
38
+
39
+ var historymenu={};
40
+
41
+
42
+
43
+ $(function(){
44
+
45
+ /**************************************************
46
+
47
+ * Context-Menu with Sub-Menu
48
+
49
+ **************************************************/
50
+
51
+
52
+
53
+ // メインメニュー表示項目の連想配列を生成
54
+
55
+ mainmenu={
56
+
57
+ "edit": {"name": "Edit"},
58
+
59
+ "cut": {"name": "Cut"},
60
+
61
+ "sep1": "---------",
62
+
63
+ "quit": {"name": "Quit"},
64
+
65
+ "sep2": "---------",
66
+
67
+ "fold1": {
68
+
69
+ "name": "Sub group",
70
+
71
+ "items": {
72
+
73
+ "fold1-key1": {"name": "Foo bar"},
74
+
75
+ "fold2": {
76
+
77
+ "name": "Sub group 2",
78
+
79
+ "items": {
80
+
81
+ "fold2-key1": {"name": "alpha"},
82
+
83
+ "fold2-key2": {"name": "bravo"},
84
+
85
+ "fold2-key3": {"name": "charlie"}
86
+
87
+ }
88
+
89
+ },
90
+
91
+ "fold1-key3": {"name": "delta"}
92
+
93
+ }
94
+
95
+ },
96
+
97
+
98
+
99
+
100
+
101
+ "fold1a": {
102
+
103
+ "name": "Other group",
104
+
105
+ "items": {
106
+
107
+ "fold1a-key1": {"name": "echo"},
108
+
109
+ "fold1a-key2": {"name": "foxtrot"},
110
+
111
+ "fold1a-key3": {"name": "golf"}
112
+
113
+ }
114
+
115
+ }
116
+
117
+ }
118
+
119
+
120
+
121
+
122
+
123
+ // メインメニューと履歴メニューの配列をマージ
124
+
125
+ var arr=mainmenu;
126
+
127
+ if(historymenu.length>0){
128
+
129
+ arr = $.extend(historymenu, mainmenu);
130
+
131
+ }
132
+
133
+
134
+
135
+ // コンテキストメニューの作成処理
136
+
137
+ $.contextMenu({
138
+
139
+ selector: '.context-menu-one',
140
+
141
+ callback: function(key, options) {
142
+
143
+ setHistory(key, options);
144
+
145
+ },
146
+
147
+ items: arr
148
+
149
+
150
+
151
+ });
152
+
153
+ });
154
+
155
+
156
+
157
+ // コールバック関数(右クリックメニューを選択後に呼び出される)
158
+
159
+ function setHistory(key, options){
160
+
161
+ var afterKey=key+"added";
162
+
163
+ historymenu.afterKey = { name: options.key.name };// 選択、実行した表示項目文字列をnameキーとしてセット
164
+
165
+ }
166
+
167
+ </script>
168
+
169
+
170
+
171
+
172
+
1
- 現在、jquary+html5にて、独自の階層付き右クリックメニューを作成しております。
173
+ ```現在、jquary+html5にて、独自の階層付き右クリックメニューを作成しております。
2
174
 
3
175
 
4
176