2014-02-17 6 views
0

Я добавил actioncolumn внутри моей сетки. В обработчике actioncolumn (щелкните) Я хочу использовать библиотеку zeroclipboard для копирования текста в буфер обмена.Ext Js и zerooclipboard

Я столкнулся с несколькими проблемами. Иногда мне нужно несколько кликов по моему actioncolumn, чтобы вызвать копию. Иногда мне приходится обновлять страницу, чтобы запустить копию.

Мой actioncolumn обработчик:

handler: function(view, rowIndex, colIndex, item, e, record, row){ 

    ZeroClipboard.config({moviePath: 'resources/js/zeroclipboard/ZeroClipboard.swf'}); 
    var client = new ZeroClipboard(e.target); 

    client.on('load',function(client) { 

    client.on('datarequested', function(client) { 
     client.setText("Text to be copied"); 
    }); 


    client.on('complete', function(client, args) { 
     // alert("Copied text to clipboard: " + args.text); 
     Myapp.app.getController('UiNotification').showNotification("Link copied to clipboard"); 
    }); 
}); 
} 

Одним из возможных способов решения является создание экземпляра текста на mouseover но actioncolumn не имеет каких-либо других событий, кроме обработчика.

Пожалуйста, помогите

ответ

1

Так actioncolumn обработчик является click? Если да, то да, динамически подключая ZeroClipboard во время события click, слишком поздно. В лучшем случае он будет доступен во время второго щелчка; в худшем случае это может задержать несколько кликов (по времени), так как также необходимо асинхронно загружать SWF-файл ZeroClipboard.

+0

Я все понял, но спасибо. Я добавил zeroclipboard к функции рендеринга. – Jacob

+0

@Jacob: Можете ли вы представить рабочий пример? Это было бы прекрасно. – Felix