ZClip - копирование данных нажатием Alt-кнопки

Я использую ZClip, чтобы скопировать текст в поле ввода, нажав на кнопку. В настоящее время это работает нормально, но я бы хотел, чтобы данные в поле копировались по-другому, если пользователь нажимает клавишу "Alt" при нажатии, но я не уверен, как определить, была ли нажата клавиша altKey, так как zClip_copy событие не поддерживает event.altKey,

Вот код, который стоит сейчас:

$('#copyBtn_' + _tabID).zclip({
    path:'../scripts/ZeroClipboard.swf',
    copy:function() {             
        //constructs the data and puts it in the #copyData_<tabID> input field
        $("#copyBtn_" + _tabID).trigger("click");                                                                                             
        return $("#copyData_" + _tabID).html();
    }
});

Это click событие, которое запускается:

document.getElementById("copyBtn_"+_tabID).onclick = function(event){
    copyTextToClipboardButton(event);
};

copyTextToClipboardButton(event) проверка функций event.altKey чтобы увидеть, нажимал ли пользователь клавишу Alt. Можно ли получить оригинал MouseEvent перед zClip copy функция срабатывает, так что я могу запустить copyTextToClipboardButton(event) используя оригинал MouseEvent заранее? Таким образом, мне не нужно будет вручную запускать событие jQuery, как сейчас, поэтому event.altKey сохраняется

Надеюсь, что это имеет смысл. Спасибо заранее!

1 ответ

Решение

zClip работает с использованием плагина zeroclipboard Adobe Flash для фактической обработки кликов и копирования в буфер обмена (поскольку такая функция не разрешена в обычном Javascript). Это из соображений безопасности. Плагин Adobe Flash позволяет копировать в буфер обмена, если это происходит непосредственно в результате действий пользователя в плагине Adobe Flash, например щелчка. Это не позволит по-другому.

Таким образом, для поддержки чего-то вроде Alt-click, но не обычного щелчка, плагин Adobe Flash, который использует zclip, должен был бы поддерживать эту возможность напрямую.

Когда я смотрю на исходный код zeroclipboard, я не вижу такой возможности, поэтому не думаю, что это возможно без изменения исходного кода zeroclipboard и создания новой флеш-программы.SWF.

Другие вопросы по тегам