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" />

share-copyDIV は、zClip のフラッシュ要素を格納する小さな 16x16 div です。私はこのようにzClipを使用しています:

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

これで、 という名前の入力要素のテキストが正常にコピーされましたshare。ただし、次のようにjQueryを使用してその入力要素のテキストを変更すると:

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

zClip を再度クリックしても、新しい値はコピーされません。shareクリック時に入力の内容を正確にコピーするようにzClipを取得するにはどうすればよいですか?

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 に答える