zClip jQuery插件不会复制文本输入的新值

时间:2012-08-12 00:11:40

标签: jquery input zclip

在我的CakePHP应用程序中,我有一个带有此标记的视图:

<div class="copy" id="share-copy"></div>
<input type="text" value="http://site.com/v/<?php echo $imageInfo[0]['Image']['hash']; ?>" name="share" />

share-copy DIV是一个小的16x16 div,它包含zClip的flash元素。我正在使用这样的zClip:

$('#share-copy').zclip({
    path: '/swf/ZeroClipboard.swf',
    copy: $('input[name="share"]').val(),
    afterCopy: function(){}
});

现在,它成功复制了名为share的输入元素中的文本。但是,当我使用jQuery更改该输入元素中的文本时:

$('input[name="share"]').attr('value', 'something');

再次单击zClip,它不会复制新值。如何让zClip在点击时准确复制share输入内的内容?

1 个答案:

答案 0 :(得分:0)

问题在于

$('#share-copy').zclip({
    path: '/swf/ZeroClipboard.swf',
    copy: $('input[name="share"]').val(),
    afterCopy: function(){}
});

创建一个对象:

{path: '/swf/ZeroClipboard.swf', copy: $('input[name="share"]').val(), afterCopy: function(){}}

创建对象时设置属性copy的值,因此不会更新。

我想我们可以使用函数解决它:

$('#share-copy').zclip({
    path: '/swf/ZeroClipboard.swf',
    copy: function(){return $('input[name="share"]').val();},
    afterCopy: function(){}
});