zclip复制下一个文本存在于元素中

时间:2014-07-01 11:29:34

标签: jquery text copy next zclip

我想复制下一个元素中的文字,但它并不是正常工作的: 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');
        }
    });
});

我不知道为什么

2 个答案:

答案 0 :(得分:2)

问题是以下声明:

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

当您致电zclip时,它将被应用一次。在那个时间点,this等于document。换句话说,一旦页面准备就绪,每个.copy都会被告知复制 document的下一个兄弟的文本,这自然不存在。< / p>

我们需要做的是传递copy一个函数,我们可以在点击.copy时动态抓取下一个元素的文本:

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

这是一个有效的fiddle

答案 1 :(得分:1)

copy: $(this).next().text()中尝试使用选择器代替$(this)。