0

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

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

DIV 是一个 16x16的share-copy小 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,它不会复制新值。如何让 zClipshare在单击时准确复制输入中的内容?

4

1 回答 1

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(){}
});
于 2012-08-12T00:19:52.060 回答