2014-03-03 8 views
0

У меня есть ссылка, когда я нажимаю ссылку, мне нужно скопировать содержимое в буфер обмена. Я использую ниже код, но он не копирует. Любой другой код существует для копирования в буфер обмена. Я проверил столько кодов, но ни один из них не полезен.Как скопировать содержимое в буфер обмена с помощью jquery

<script src="jquery.js"></script> 
<script src="jquery.clipboard.js"></script> 
<script> 
$(document).ready(function() { 
    $("#val_link").click(function() { 
    alert("Hello!"); 
     $("#val_link").clipboard({ 
      path: 'jquery.clipboard.swf', 
      copy: function() { 
       alert("Text copied."); 
       return $("div#some-content").text(); 
      }  
     }); 
    }); 
}); 
</script> 
<a href="javascript:void(0);" id="val_link" value="ttttt">Link</a> 
<div id="some-content">Text content to copy</div> 

ответ

0

Функция .clipboard() делает прикрепление обработчиков клик для вас. но он прикрепляет его к невидимому элементу, который он кладет поверх вершины #val_link, в вашем случае.

Итак, вы должны поместить обработчик click на #val_link, чтобы предотвратить его использование по умолчанию.

После этого вы добавляете к нему функцию буфера обмена.

Фактически, что вы делали, это щелкнуть привязку обработчиков буфера обмена - я думаю, если вы снова щелкнете по ссылке, тогда она будет копироваться правильно, но затем свяжет другой набор событий.

попробовать:

<script src="jquery.js"></script> 
<script src="jquery.clipboard.js"></script> 
<script> 
$(document).ready(function() { 
    $("#val_link").click(function (o) { 
    o.preventDefault(); 
    }); 
    $("#val_link").clipboard({ 
      path: 'jquery.clipboard.swf', 
      copy: function() { 
       alert("Text copied."); 
       return $("div#some-content").text(); 
      }  
     }); 

}); 
</script> 
<a href="javascript:void(0);" id="val_link" value="ttttt">Link</a> 
<div id="some-content">Text content to copy</div> 
Смежные вопросы