0

次の要素に存在するテキストをコピーしたいのですが、正常に機能しません: http://jsfiddle.net/tj7ZX/8/

$(document).ready(function () {

    $('.copy').zclip({
        path: 'http://www.steamdev.com/zclip/js/ZeroClipboard.swf',
        copy: $(this).next().text(),
        beforeCopy: function () {
            $(this).next().css('background-color', 'grey');
            $(this).children().css('background-position', '-108px -90px');
        },
        afterCopy: function () {
            $(this).children().css('background-position', '-54px -37px');
        }
    });
});

どうしてか分かりません

4

2 に答える 2

2

問題は次の文です。

copy: $(this).next().text()

を呼び出すと1回適用されますzclip。その時点で、 にthis等しくなりdocumentます。つまり、ページの準備が整うとすぐに、当然存在しない次の兄弟のテキスト.copyをコピーするように、every に通知されます。document

必要なことは、がクリックさcopyれるたびに次の要素のテキストを動的に取得できる関数を渡すことです。.copy

copy: function() {
    return $(this).next().text();
}

これが実用的なフィドルです。

于 2014-07-01T12:14:06.673 に答える
1

の $(this) の代わりにセレクターを試してくださいcopy: $(this).next().text()

于 2014-07-01T12:18:06.547 に答える