【问题标题】:Zero Clipboard Doesn't work when it's called dynamically零剪贴板在动态调用时不起作用
【发布时间】:2011-01-30 07:52:06
【问题描述】:

我使用Zero Clipboard 处理剪贴板,由this answer 推荐。

以这种形式使用时,代码运行良好。

<div id="d_clip_button" style="background: #FFFFCC;">
    Click to copy
</div>
<script language="JavaScript" type="text/javascript">
        var clip = new ZeroClipboard.Client();
                        clip.setText( '<?php echo "http://example.com/" . $var; ?>' );
                        clip.glue( 'd_clip_button' );
</script>

当像这样动态调用上面的代码时会出现问题:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>

<form action="generar.php" method="post">
Input: <input type="text" id="longUrl" name="longUrl" value="" /><br />
<input type="button" value="Acortar!" onclick="submitme()" />
<div id="resultado"></div>
</form>



<script type="text/javascript" charset="utf-8">

    function submitme(){
    var tosend=document.getElementById("longUrl").value;
    $.ajax({
            type: 'POST',
            url: 'generar.php',
            data: 'longUrl='+tosend,
            success: function(msg){
                if(msg){
                    document.getElementById("resultado").innerHTML=msg;
                }
                else{
                    return;
                }
            }
        });
    }

</script>

“点击复制”出现,但资源未被正确调用,因为它“不是闪存”。

关于如何完成这项工作的任何想法/有什么问题?

提前致谢!!请要求任何需要的澄清!


它是否(不这么认为)与嵌套在 div 上的整个事物有关?

【问题讨论】:

  • 第二个例子中你将如何使用 zeroclipboard?
  • @www0z0k 抱歉耽搁了,跟发布的方式一模一样。由于代码在generar.php 中,但它是由AJAX 函数调用和显示的。见demo
  • 我应该在哪里点击复制?
  • @www0z0k 嘿嘿抱歉!其中 ti 表示“Clic para copiar”。
  • @www0z0k 实际上,如果您按 Enter(在文本框上)并且不按按钮,它就可以正常工作!

标签: javascript jquery flash clipboard zeroclipboard


【解决方案1】:

innerHTML 不执行通过 Ajax 调用传递的 JavaScript。

使用 jQuery 的.html()

 $("#resultado").html(msg);

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-14
  • 1970-01-01
  • 2018-06-04
相关资源
最近更新 更多