初始化问题和jquery实例的使用

initialization issue and use of instances in jquery

本文关键字:实例 jquery 问题 初始化      更新时间:2023-09-26

我使用的是ZeroClipboard插件,一开始我使用的是下面的代码

$(document).on('click', '.submit', function() {
            //reset others
            $('.submit').text('Copy');
            ZeroClipboard.config({
                moviePath: clipper_params.templateurl +
                    '/includes/js/zeroclipboard/ZeroClipboard.swf'
            });
            var clip = new ZeroClipboard($(this));
            clip.on('complete', function(client, args) {
                $(this).text('Copied');
            });  

它工作,但我必须点击两次。所以我猜这是初始化问题,我将实例初始化移到文档准备中,如下所示。但现在似乎不能再叫了。为什么?

$(document).ready(function() {
    ZeroClipboard.config({
        moviePath: clipper_params.templateurl +
            '/includes/js/zeroclipboard/ZeroClipboard.swf'
    });
    clip = new ZeroClipboard($('.submit'));
});
$(document).on('click', '.submit', function() {
    //reset others
    $('.submit').text('Copy');
    clip.on('complete', function(client, args) {
        $(this).text('Copied');
    });
});  

这个怎么样?

$(".submit").click(function() {
    $('.submit').text('Copy');
    clip.on('complete', function(client, args) {
        $(this).text('Copied');
    });
});