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.