我使用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键。是否可以在触发zClip MouseEvent
函数之前获取原始copy
,以便我可以事先使用原始copyTextToClipboardButton(event)
运行MouseEvent
?这样我就不必像现在那样手动触发jQuery事件,因此保留了event.altKey
。
希望这是有道理的。非常感谢提前!
答案 0 :(得分:0)
zClip通过使用zeroclipboard Adobe Flash插件来进行实际的点击处理和复制到剪贴板(因为常规Javascript中不允许使用此类功能)。这是出于安全原因。 Adobe Flash插件允许复制到剪贴板,如果它直接是Adobe Flash插件中用户操作的结果,例如单击。它不允许任何其他方式。
因此,为了支持Alt-click,而不是常规点击,zclip使用的Adobe Flash插件必须直接支持该功能。
当我查看zeroclipboard source code时,我看不到这样的功能,所以如果不修改zeroclipboard源并创建新的.SWF flash程序,我认为不可能。