ZeroClipboard插件實(shí)現(xiàn)多瀏覽器復(fù)制功能(支持firefox、chrome、ie6)
但是值得注意的是官方介紹中已明確表態(tài)說這個插件不支持ie6,下面將提供多實(shí)例化Zero Clipboard復(fù)制功能的實(shí)現(xiàn)及兼容ie6的寫法!
先下載ZeroClipboard http://chabaoo.cn/jiaoben/24961.html
<style type="text/css"> body { font-family:arial,sans-serif; font-size:9pt; } .copyit {text-align:center; border:1px solid #FD6001; background-color:#ED730B; margin:10px; padding:2px 5px; cursor:pointer; font-size:12px; border-radius:3px;} .copyit.hover { background-color:#FD6001;}.copyit.active { background-color:#d25102;}/*鼠標(biāo)hover效果,實(shí)為調(diào)用setCSSEffects()方法*/ .copy_info{width:260px;height:100px;border:1px solid #ccc;padding:5px;} </style> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script type="text/javascript" src="/js/ZeroClipboard/ZeroClipboard.js"></script> <div class="clip_container"> <textarea id="fe_text" cols=50 rows=5 class="copycnt">第1個被復(fù)制的內(nèi)容?。。?lt;/textarea> <b class="copyit">復(fù)制內(nèi)容</b> </div> <br/> <div class="clip_container"> <textarea id="fe_text" cols=50 rows=5 class="copycnt">第2個被復(fù)制的內(nèi)容?。。?lt;/textarea> <b class="copyit">復(fù)制內(nèi)容</b> </div> <script type="text/javascript"> var clip = null; function copyThis() { if($.browser.version==6.0){ //針對ie6 $('.copyit').bind("click",function(){ var code=$(this).parents(".clip_container").find(".copycnt").text(); window.clipboardData.setData("Text",code); alert('被復(fù)制的內(nèi)容:\n'+code); }) return; } ZeroClipboard.setMoviePath("http://img.jb51.net/js/scripts/clipboard.swf'");//如果ZeroClipboard.js, ZeroClipboard.swf放在同一目錄下,可省略這句; clip = new ZeroClipboard.Client(); $('.copyit').mouseover( function() { var code=$(this).parents(".clip_container").find(".copycnt").text(); clip.setText(code); if (clip.div) {//已創(chuàng)建過包含flash的父層div,則鼠標(biāo)hover時重新定位flash層的位置 //clip.receiveEvent('mouseout', null); clip.reposition(this); }else{ clip.glue(this)}; //clip.receiveEvent('mouseover', null); } ); clip.addEventListener( 'complete', function(client, text){ alert("被復(fù)制內(nèi)容:\n"+text); }); } copyThis(); </script> <textarea style="width:300px;height:300px;"> 粘貼復(fù)制的內(nèi)容到這里試試??! </textarea>
上面的實(shí)現(xiàn)方法,除了ie6使用window.clipboardData.setData來實(shí)現(xiàn)復(fù)制功能外,其它瀏覽器都用Zero Clipboard 插件來實(shí)現(xiàn)復(fù)制功能!
使用該插件時應(yīng)注意的幾點(diǎn):
1、以上 ZeroClipboard.js, ZeroClipboard.swf需要放在同一路徑下。如果不在同一路徑,可使用ZeroClipboard.setMoviePath( “Flash路徑” );來設(shè)置ZeroClipboard.swf 地址。
2、setCSSEffects() 方法的解析: 當(dāng)鼠標(biāo)移到按鈕上或點(diǎn)擊時,由于有Flash按鈕的遮擋,所以復(fù)制按鈕本身體的 css “:hover”, “:active” 等偽類可能會失效。setCSSEffects() 方法就是解決這個問題。首先我們需要將偽類改成類,比如:
.copyit:hover{
border-color:#FF6633;
}
// 需要將":hover"改成下面的".hover"
.copyit.hover{
border-color:#FF6633;
}
3、getHTML() 方法的解析:如果你想自己實(shí)例一個Flash ,不用Zero Clipboard的附著方法,那么這個方法就可以幫上忙了。它接受兩個參數(shù),分別為Flash的寬度和高度。返回的是Flash對應(yīng)的 HTML 代碼。例如:
var html = clip.getHTML( 150, 20 );
相關(guān)文章
JavaScript中的this/call/apply/bind的使用及區(qū)別
這篇文章主要介紹了JavaScript中的this/call/apply/bind的使用及區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03electron中獲取mac地址的實(shí)現(xiàn)示例
在基于Electron的應(yīng)用中,有一個業(yè)務(wù)需求是獲取物理網(wǎng)卡的Mac地址以用于客戶機(jī)唯一性識別,本文主要介紹了electron中獲取mac地址的實(shí)現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下2023-12-12JavaScript實(shí)現(xiàn)時鐘滴答聲效果
本文給大家分享一段js實(shí)例代碼實(shí)現(xiàn)時鐘滴答聲效果,效果逼真,非常不錯,具有參考借鑒價值,需要的朋友參考下吧2017-01-01基于touch.js手勢庫+zepto.js插件開發(fā)圖片查看器(滑動、縮放、雙擊縮放)
這篇文章主要為大家詳細(xì)介紹了touch.js手勢庫結(jié)合zepto.js插件開發(fā)圖片查看器,圖片可以實(shí)現(xiàn)滑動、縮放、雙擊縮放等效果,2016-11-11JavaScript事件循環(huán)剖析宏任務(wù)與微任務(wù)
這篇文章主要為大家介紹了JavaScript事件循環(huán)剖析宏任務(wù)與微任務(wù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10基于JS實(shí)現(xiàn)頁面懸浮框的實(shí)例代碼
這篇文章主要介紹了基于JS實(shí)現(xiàn)頁面懸浮框的實(shí)例代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12使用JavaScript檢測Firefox瀏覽器是否啟用了Firebug的代碼
在啟用Firebug的情況下訪問GMail會收到一個 Firebug會讓Gmail變慢 的警告,這是如何檢測的呢?這里就說說。2010-12-12