Javascript ZeroClipboard/zClip--如何绑定到实时事件?
我正在尝试将zclip与live绑定:Javascript ZeroClipboard/zClip--如何绑定到实时事件?,javascript,jquery,zeroclipboard,zclip,Javascript,Jquery,Zeroclipboard,Zclip,我正在尝试将zclip与live绑定: $('.code').live('click', function () { $(this).zclip({ path: '<%= asset_path "ZeroClipboard.swf" %>', copy: $(this).text() }); ... }); $('.code').live('click',函数(){ $(此).zclip({ 路径:“”, 复制:$(this
$('.code').live('click', function () {
$(this).zclip({
path: '<%= asset_path "ZeroClipboard.swf" %>',
copy: $(this).text()
});
...
});
$('.code').live('click',函数(){
$(此).zclip({
路径:“”,
复制:$(this).text()
});
...
});
它似乎不是那样工作的有什么线索吗?
我需要使用live,因为有些DOM元素是用ajax添加的。检查您正在使用的jQuery版本。 无论如何,您应该使用.delegate()或.on()(如果jQuery>=1.7)。(jQuery不推荐使用.live方法) 它们应该通过ajax处理新添加的元素
$('.code').on('click', function () {
$(this).zclip({
path: '<%= asset_path "ZeroClipboard.swf" %>',
copy: $(this).text()
});
});
$('.code')。在('click',函数(){
$(此).zclip({
路径:“”,
复制:$(this).text()
});
});
您可以将zclip绑定放入ajax方法中的回调函数中,如下所示:
$.post('ajax',
{data:"data"},
function(data){
//add dom elements
....
//bind zclip
$('.code').each(function(){
$(this).zclip({
path:".ZeroClipboard.swf",
copy:$(this).txt()
});
});
}, 'json');
每个()都是为了避免$('.code')有两个或多个元素