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