【问题标题】:Copy clipboard is working after twice button click using zclip使用 zclip 单击两次按钮后,复制剪贴板正在工作
【发布时间】:2012-12-14 14:34:14
【问题描述】:

不知道为什么我的下面不能单击一次,它需要两次单击才能被复制。

<html>
<body>
<script type="text/javascript" src="JQuery.js"></script>
<script type="text/javascript" src="zClip.js"></script>

<textarea id="fe_text" cols="50" rows="5"></textarea>

<input type="button" id="copyTxt" name="copyTxt" value="Copy Div to Clipboard" />

    <script language="JavaScript">
    $(document).ready(function()
    {       
        $('#copyTxt').click(function()
            {
               //alert($('#fe_text').val());
               $(this).zclip(
               {
                   path: 'ZeroClipboard.swf',
                   copy: $('#fe_text').val(),
                   afterCopy: function()
                   {
                       console.log($('#fe_text').val() + " was copied to clipboard");
                   }
               });
            });
    });


    </script>
</body>
</html>

请指教,可能是什么原因

谢谢。

【问题讨论】:

  • 第一次点击后是否会在点击内引发警报?
  • 第一次点击时,我没有得到 afterCopy,当我第二次点击时,我得到 afterCopy 警报

标签: javascript jquery zeroclipboard zclip


【解决方案1】:

您的代码将 zclip 设置为在点击一次后开始观察点击。

$(document).ready(function()
{       
    //$('#copyTxt').click(function()
    //    {
           //alert($('#fe_text').val());
           $('#copyTxt').zclip(
           {
               path: 'ZeroClipboard.swf',
               copy: function(){ return $('#fe_text').val(); },
               afterCopy: function()
               {
                   console.log($('#fe_text').val() + " was copied to clipboard");
               }
           });
    //    });
});

如果您查看their documentation,它会显示在$(document).ready 中直接调用了zclip 插件。

【讨论】:

  • 是的,我知道在实施上述解决方案后,我收到 afterCopy 警报,但是 textarea 中的文本没有被复制到剪贴板中。请建议
  • 这段代码有效吗?如果你在设置 zclip 时只是调用.val,它会在copy 中存储一个字符串。如果您希望它是动态的,请创建一个函数,当它尝试复制时调用该函数。
  • 感谢 FakeRainBrigand,在副本上添加功能后它现在可以工作了,请您指出为什么没有功能或返回时它不能工作
  • 如果您没有该功能,它只会检查一次值:当$(document).ready 触发时。如果你把一个函数放在那里,它会在每次点击#copyTxt 时评估它。如果函数没有返回语句,则返回值未定义。无论copy 的返回值是什么,都决定了要复制的文本。你希望它是#fe_text 的值,所以你需要返回它。希望这是有道理的:-)
  • 是的,谢谢再问一个问题,我们可以在单击任何按钮时调用 zclip copy,因为我有一个按钮,它首先做一些工作并获取需要在剪贴板上复制的值
猜你喜欢
  • 2014-04-30
  • 1970-01-01
  • 2021-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多