Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ZeroClipboard/zClip--如何绑定到实时事件?_Javascript_Jquery_Zeroclipboard_Zclip - Fatal编程技术网

Javascript ZeroClipboard/zClip--如何绑定到实时事件?

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

我正在尝试将zclip与live绑定:

$('.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')有两个或多个元素