jQuery - 在悬停<textarea>

时间:2016-12-06 13:20:58

标签: jquery copy textarea

&lt; p&gt;我可以复制&lt; code&gt;&lt; textarea&gt;&lt; / code&gt;中的文字了in&lt; a href =“https://stackoverflow.com/questions/39189789/blogger-added-javascript-but-no-result-came-out#answer-40826754”&gt;此示例&lt; / a&gt;。但在我将该代码简化为以下代码之后:&lt; / p&gt; &lt; p&gt;&lt; div class =“snippet”data-lang =“js”data-hide =“false”data-console =“true”data-babel =“false”&gt; &lt; div class =“snippet-code”&gt; &lt; pre class =“snippet-code-js lang-js prettyprint-override”&gt;&lt; code&gt; $('textarea')。mouseout(function(){   $( '文本区域')模糊()。 }); $( 'textarea的')。鼠标悬停(函数(){   $(本).focus();   $(本)。选择();   document.execCommand( '复制'); });&LT; /代码&GT;&LT; /预&GT; &lt; pre class =“snippet-code-css lang-css prettyprint-override”&gt;&lt; code&gt; textarea {     margin-left:15px;     保证金权利:15px;     宽度:200px;     身高:17.5px; }&LT; /代码&GT;&LT; /预&GT; &lt; pre class =“snippet-code-html lang-html prettyprint-override”&gt;&lt; code&gt;&lt; script src =“https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/ jquery.min.js“&GT;&LT; /脚本&GT; BLABLABLA&lt; textarea&gt;悬停我,我很特别!&lt; / textarea&gt; BLABLABLA&lt; br /&gt; &lt; input placeholder =“在此粘贴我!”&gt;&lt; / input&gt;&lt; / code&gt;&lt; / pre&gt; &LT; / DIV&GT; &LT; / DIV&GT; &LT; / p为H. &lt; p&gt;我可以选择&lt; code&gt;&lt; textarea&gt;&lt; / code&gt;中的文字了但不要复制文字。我试过了:&lt; / p&gt; &LT;醇&GT; &LT;李&GT;&LT p为H.;&LT;代码&GT; $(本)[0] .execCommand( '复制');&LT; /代码&GT;&LT; / P&GT;&LT; /锂&GT; &LT;李&GT;&LT p为H.;&LT;代码&GT; $(本).execCommand( '复制');&LT; /代码&GT;&LT; / P&GT;&LT; /锂&GT; &LT;李&GT;&LT p为H.;&LT;代码&GT; this.execCommand( '复制');&LT; /代码&GT;&LT; / P&GT;&LT; /锂&GT; &LT;李&GT;&LT p为H.;&LT;代码&GT; document.execCommand( '复制');&LT; /代码&GT;&LT; / P&GT;&LT; /锂&GT; &LT; /醇&GT; &lt; p&gt;请帮帮我。感谢&LT; / p为H.

3 个答案:

答案 0 :(得分:0)

嗯,在浏览器实现中似乎有一些东西(使用Blink 537.36测试),它根据调用的类型以不同的方式处理复制命令。如果我使用click事件,则会复制内容。但是,如果我使用mouseover事件尝试此内容,则不会复制内容。

&#13;
&#13;
var ta = document.getElementById('copy-test');

var copyHandler = function(event) {
    event.target.select();
    var status = document.execCommand('copy', false);
    console.log( status ); // Only for testing
};

ta.addEventListener('mouseover', copyHandler);

ta.addEventListener('click', copyHandler);
&#13;
<textarea id="copy-test">Hello World!</textarea>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

https://jsfiddle.net/kqxw80x3/4/

这是您正在尝试完成的工作副本。而不是mouseover尝试hover

答案 2 :(得分:-1)

如果你这样做,你需要点击textarea来复制:

$('textarea').mouseover(function(){
    $(this).focus(function(){
    $(this).select();
    document.execCommand('copy');
    });
});