>  기사  >  웹 프론트엔드  >  ZeroClipboard.js는 하나의 플래시를 사용하여 여러 텍스트 상자를 복사합니다.

ZeroClipboard.js는 하나의 플래시를 사용하여 여러 텍스트 상자를 복사합니다.

陈政宽~
陈政宽~원래의
2017-06-28 14:43:421733검색

이 글은 주로 ZeroClipboard.js가 하나의 플래시를 사용하여 여러 텍스트 상자를 복사하는 방법을 자세히 소개합니다. 관심 있는 친구들이 참고할 수 있습니다.

ZeroClipboard.js는 복사 및 붙여넣기를 지원하는 도구입니다. JavaScript 플러그 -in은 공식적으로 버전 2.x에 도달했지만 IE9 이하의 브라우저는 지원하지 않습니다. 호환성을 원할 경우 버전 1.x를 사용할 수 있습니다. 저는 첫 번째 버전인 1.0을 사용하고 있습니다. 이번 버전은 IE7과 IE8을 지원합니다. 오늘은 하나의 플래시를 사용하여 여러 개의 텍스트를 복사하는 방법을 주로 소개합니다.

일반적으로 장소를 복사해야 할 때 주로 다음 코드를 사용하여 새 개체를 만듭니다.


<p id="J_pop_share">
  <input id="J_video_iframe1" value="<iframe src="http://caibaojian.com/book/"></iframe>" />
  <button id="J_copy_btn1">复制</button>
</p>


Single:

var clip = null;//ZeroClipboard.Client对象 
var current_id = null;//当前所在的文本元素id 
//指定ZeroClipboard.swf位置
ZeroClipboard.setMoviePath(location.protocol+"//club.pcauto.com.cn/js/ZeroClipboard.swf"); 
clip = new ZeroClipboard.Client();//创建ZeroClipboard.Client对象 
clip.setHandCursor(true);//鼠标移动到元素上之后显示手型 
clip.glue(&#39;J_copy_btn1&#39;,&#39;J_pop_share&#39;);
clip.setText($(&#39;#J_video_iframe1&#39;).val());
//添加复制成功之后的操作 
clip.addEventListener(&#39;complete&#39;, function() { 
  alert(&#39;复制成功&#39;); 
});


여러 개가 있는 경우 다음을 수행해야 합니까? 네 개의 새로운 객체를 생성해 보세요. 플래시 객체는 어떻습니까? 한번도 시도해보지 않으신 분들은 이렇게 해보실 수도 있는데, 이 글에서는 위의 플래시를 기준으로 다른 버튼으로 이동할 때 플래시의 위치와 복사된 텍스트를 변경하는 또 다른 방법을 공유합니다.

다중 텍스트용 HTML 코드:


<p id="J_pop_share">
  <p>
    <input id="J_video_iframe1" value="<iframe src="http://caibaojian.com/book/"></iframe>" />
    <button id="J_copy_btn1" class="btn-copy-text">复制</button>
  </p>
  <p>
    <input id="J_video_iframe2" value="<iframe src="http://caibaojian.com/book/"></iframe>" />
    <button id="J_copy_btn2" class="btn-copy-text">复制</button>
  </p>
  <p>
    <input id="J_video_iframe3" value="<iframe src="http://caibaojian.com/book/"></iframe>" />
    <button id="J_copy_btn3" class="btn-copy-text">复制</button>
  </p>
  <p>
    <input id="J_video_iframe4" value="<iframe src="http://caibaojian.com/book/"></iframe>" />
    <button id="J_copy_btn4" class="btn-copy-text">复制</button>
  </p>
</p>


javascript 코드: 위 js를 기반으로 ZeroClipboard.js 사용 시 다음 코드


//上面的代码
$(".btn-copy-text").each(function(i){
  var index =i+1;
  $(this).on(&#39;mouseover&#39;,function(){
    var button_id = $(this).attr(&#39;id&#39;);//复制p的id 
    //var text_id = button_id+&#39;_text&#39;;//要复制的元素id 
    var text_id = &#39;J_video_iframe&#39;+(index);
    move_swf(text_id , button_id); 
  }); 
}); 

//移动浮动flash p到指定的地方,从而只需要使用一个flash即可在多个地方实现复制功能 
function move_swf(text_id,button_id) { 
  //重新指定flash浮动p位置,用reposition 
  clip.reposition(button_id, &#39;J_pop_share&#39;);
  clip.setText($(&#39;#&#39;+text_id).val()); 
}


을 추가합니다. 그렇지 않을 수도 있다 예를 들어, 오늘날 IE에서는 내용이 팝업 창에 배치되므로 첫 번째 항목을 복사하면 괜찮지만 두 번째 항목은 "해당 개체가 없습니다"라는 오류가 보고됩니다. ", 오랫동안 디버그를 했지만 여전히 해결되지 않습니다. 나중에 팝업창을 숨기지 않았으나 오류가 보고되지 않았습니다. 따라서 플래시 숨기기와 관련이 있어야 한다고 생각합니다. 팝업 창 숨기기를 절대 위치 지정으로 변경하고 왼쪽:- 9999px를 추가했습니다. 표시할 때 올바른 왼쪽 값을 배치하면 오류가 보고되지 않습니다.

위 내용은 이 글의 전체 내용입니다. 여러분의 학습에 도움이 되기를 바랍니다.

위 내용은 ZeroClipboard.js는 하나의 플래시를 사용하여 여러 텍스트 상자를 복사합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.