El cierre no funciona en ZeroClipboard

Tengo el siguiente código JS para ZeroClipBoard:

onComplete: function(item) {

            var text= $(item).html();//Not working when I hover the clip
           //var text= 'Hello';// This is working when I hover the clip

            var clip = new ZeroClipboard.Client();
            clip.setHandCursor(true);

            clip.addEventListener('complete', function(client, text) {
                debugstr("Copied text to clipboard: " + text );
            });

            clip.addEventListener('mouseOver', function(client) {
                clip.setText(text);
            })

            // glue specifying our button AND its contain,er
            clip.glue('id_clip_button', 'id_clip_container');

        },

Por encima de oncomplete está una de mis funciones que se llama en alguna acción. Me sale un elemento que es un elemento html. Ahora en el código anterior:

        var text= $(item).html();//Not working when I hover the clip
       //var text= 'Hello';// This is working when I hover the clip

Si comento la primera línea y descomento la segunda línea, el clip funciona y el texto se copia al portapapeles. Pero tengo que usar el valor de ese elemento html al copiar el texto. Entonces, ¿cómo debo ir con esto? Estoy obteniendo el valor del control en este punto

var text = $ (item) .html (); //

Pero cuando se llama a la función de desplazamiento, se pierde. Estaba pensando que se conservará a través de Closure. Me estoy perdiendo de algo ? No puedo obtener el valor del texto en esta línea:

clip.setText(text);

No puedo acceder a ninguna variable desde afuera cuando estoy dentro de clip.addEventListener ('mouseOver', function (client) {clip.setText (text);})

Respuestas a la pregunta(1)

Su respuesta a la pregunta