2012-11-30 97 views
-1

我正在研究剪貼板功能,但我正面臨一些與鼠標事件相關的問題。爲鼠標事件問題提供替代解決方案

在下面的代碼片段中,我的剪貼板功能僅在刪除label tagstyle="display:none" class="hide"時有效。

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title>Copy to Clipboard with ZeroClipboard, Flash 10 and jQuery</title> 
    <link href="_assets/css/Style.css" rel="stylesheet" type="text/css" /> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script> 
    <script src="_assets/js/ZeroClipboard.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     function myfunc2() { 
      var selectedobj = document.getElementById('texter'); 
      if(selectedobj.className=='hide'){ //check if classname is hide 
       selectedobj.style.display = "block"; 
       selectedobj.readOnly=true; 
       selectedobj.className ='show'; 
      } else { 
       selectedobj.style.display = "none"; 
       selectedobj.className ='hide'; 
      } 
     } 
    </script>  
    <script type="text/javascript"> 
     jQuery(document).ready(function(){ 
      var clip = new ZeroClipboard.Client(); 
      clip.setText(''); 
      jQuery('#copy-button').click(function(){ 
       clip.setText(jQuery('#texter').val()); 
      }); 
     }); 
     $(document).ready(function() { 
      var clip = new ZeroClipboard.Client(); 
      clip.setText(''); // will be set later on mouseDown 
      clip.addEventListener('mouseDown', function (client) { 
       // set text to copy here 
       clip.setText(jQuery('#texter').val());  
       // alert("mouse down"); 
      }); 
      clip.glue('copy-button'); 
     }); 
    </script> 
</head> 
<body> 
    <label onmouseover="myfunc2()">Click here</label> 
    <textarea name="texter" id="texter" style="display:none" class="hide" readonly>sdfdsfsdfgdfdfg</textarea> 
    <input type="button" value="Copy to clipboard" id="copy-button" /> 
</body> 

+4

複製上的jsfiddle這個問題將提高你獲得更好,更快的答案的機會。 –

+0

爲什麼你不能直接將代碼複製到jsfiddle並測試它..? – Otero

回答

0

嘗試

$(document).ready(function() { 
     var clip = new ZeroClipboard.Client(); 
     clip.setText(''); 
     $('#copy-button').click(function(){ 
      clip.setText($('#texter').val()); 
     }); 


     clip.mousedown(function (client) { 
      // set text to copy here 
      clip.setText($('#texter').val());  
      // alert("mouse down"); 
     }); 
     clip.glue('copy-button'); 
    }); 

我耦合兩個。就緒功能和除去第二ZeroClipboard.Client()情況下,作爲其不再需要。我還以不同的方式綁定了mousedown事件,詳情請參閱jQuery mousedown() doc

,並帶來jQuery的變化的更新版本; http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js ; http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js

+0

仍然不工作的兄弟.. donno爲什麼! – Otero

+0

嘗試包括更新版本的jquery 1.3是舊的, – Cam

+0

它確定兄弟.. np!仍然沒有工作..感謝您的時間.. :) – Otero