質問するログイン新規登録

回答編集履歴

3

コードの修正

2016/07/08 20:38

投稿

coba-coba
coba-coba

スコア1409

answer CHANGED
@@ -1,28 +1,29 @@
1
- ブラウザ仕様やクリップボードへのアクセスは難そうなので簡単な妥協案1つ提案し
1
+ guest1213さん回答を拝見私もコード書き換えした
2
+ とても勉強になります。ありがとうございます。
2
3
 
3
- jQueryでrtタグの表示・非表示を切り替えて、コピペ時にルビをコピーしないようにするのはどうしょう
4
+ jQueryでrtタグの表示・非表示をcssで切り替えて、コピペ時にルビをコピーしないようにする方法
4
5
 
5
6
  ```JavaScript
6
7
  /* jQuery */
7
8
 
8
9
  $(function() {
9
- $('ruby').on('copy',function(){
10
+ document.addEventListener("copy", function() {
10
11
  $('rt').css('display', 'none');
11
12
  setTimeout(function() {
12
13
  $('rt').css('display', '');
13
14
  }, 0);
14
- });
15
+ }, true);
15
16
  });
16
17
  ```
17
18
  rubyタグをコピーする時にrtタグのcssをdisplay:none;にします。
18
- コピーが終わったら、ページのどこかをクリックしたらルビが現れるようにrtタグのcssをdisplay:;()にします。
19
+ コピーが終わったら、ルビが現れるようにrtタグのcssをdisplay:;(削除)にします。
19
20
 
21
+ .on('copy')だとMicrosoft Edgeで動かなかったので、guest1213さんのを真似をしました。
22
+
20
23
  次のブラウザでは動きました。
21
24
  FireFox 47.0
22
25
  Google Chrome 51.0
23
26
  Opera 38.0
24
27
  Android 5.0.2標準ブラウザ
25
28
  iOS9.3.2 Safari
26
-
27
- 動かなかったブラウザ
28
29
  Microsoft Edge

2

コードの修正

2016/07/08 20:38

投稿

coba-coba
coba-coba

スコア1409

answer CHANGED
@@ -6,7 +6,7 @@
6
6
  /* jQuery */
7
7
 
8
8
  $(function() {
9
- $('ruby').on('copy contextmenu',function(){
9
+ $('ruby').on('copy',function(){
10
10
  $('rt').css('display', 'none');
11
11
  setTimeout(function() {
12
12
  $('rt').css('display', '');
@@ -14,7 +14,7 @@
14
14
  });
15
15
  });
16
16
  ```
17
- rubyタグをコピーまたは右クリックする時にrtタグのcssをdisplay:none;にします。
17
+ rubyタグをコピーする時にrtタグのcssをdisplay:none;にします。
18
18
  コピーが終わったら、ページのどこかをクリックしたらルビが現れるように、rtタグのcssをdisplay:;(空)にします。
19
19
 
20
20
  次のブラウザでは動きました。

1

ルビが消えないように修正

2016/07/08 20:18

投稿

coba-coba
coba-coba

スコア1409

answer CHANGED
@@ -8,10 +8,10 @@
8
8
  $(function() {
9
9
  $('ruby').on('copy contextmenu',function(){
10
10
  $('rt').css('display', 'none');
11
+ setTimeout(function() {
12
+ $('rt').css('display', '');
13
+ }, 0);
11
14
  });
12
- $('*').on('click',function(){
13
- $('rt').css('display', '');
14
- });
15
15
  });
16
16
  ```
17
17
  rubyタグをコピーまたは右クリックする時にrtタグのcssをdisplay:none;にします。