Javascript 如何确定在单击之前按下ctrl键?
我有下面的脚本,它为用户提供了特定元素的URL(当前URL加上作为锚元素的#id)。我的脚本在用户单击元素时执行,好的,这不是我想要的,我想要这个: 如果按下ctrl键,用户单击元素,则运行下面的脚本。然后将该URL复制到用户系统的剪贴板中。 我该怎么做Javascript 如何确定在单击之前按下ctrl键?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有下面的脚本,它为用户提供了特定元素的URL(当前URL加上作为锚元素的#id)。我的脚本在用户单击元素时执行,好的,这不是我想要的,我想要这个: 如果按下ctrl键,用户单击元素,则运行下面的脚本。然后将该URL复制到用户系统的剪贴板中。 我该怎么做 //我需要在这里写一个条件来检查是否按下了ctrl键? $(“div”)。在(“单击”,函数()上{ var url=window.location.href; var anchor=$(this.attr(“id”); var url_of
//我需要在这里写一个条件来检查是否按下了ctrl键?
$(“div”)。在(“单击”,函数()上{
var url=window.location.href;
var anchor=$(this.attr(“id”);
var url_of_elm=url+“#”+锚;
console.log(url\u of_elm);
//我需要在用户的剪贴板中复制url_of_elm
警报(“复制了元素的URL”);
});代码>
div{
边框:1px纯色灰色;
保证金:5px;
填充物:5px;
}
标题1
内容1
别的
标题2
content2其余的content2
别的
标题3
content3是content3中的链接
别的
更改
$("div").on("click", function(){
在
然后进行内部检查
if(event.ctrlKey){
\\Ctrl key is pressed!
编辑:更改
$("div").on("click", function(){
在
然后进行内部检查
if(event.ctrlKey){
\\Ctrl key is pressed!
编辑:您可以通过将keydown和keyup事件侦听器连接到文档来实现这一点,该文档设置一个标志,指示是否按下了CTRL键。然后可以在单击处理程序中检查此标志。试试这个:
ctrlKeyDown=false;
$(文档).on({
向下键:功能(e){
ctrlKeyDown=e.ctrlKey;
},
keyup:function(){
ctrlKeyDown=false;
}
});
$(“div”)。在(“单击”,函数()上{
如果(ctrlKeyDown){
var url=window.location.href;
var anchor=$(this.attr(“id”);
var url_of_elm=url+“#”+锚;
警报(url\u的\u elm);
}
});代码>
div{
边框:1px纯色灰色;
保证金:5px;
填充物:5px;
}
标题1
内容1
别的
标题2
content2其余的content2
别的
标题3
content3是content3中的链接
别的
您可以通过将keydown和keyup事件侦听器连接到文档来实现这一点,该文档设置了一个标志,指示是否按下了CTRL键。然后可以在单击处理程序中检查此标志。试试这个:
ctrlKeyDown=false;
$(文档).on({
向下键:功能(e){
ctrlKeyDown=e.ctrlKey;
},
keyup:function(){
ctrlKeyDown=false;
}
});
$(“div”)。在(“单击”,函数()上{
如果(ctrlKeyDown){
var url=window.location.href;
var anchor=$(this.attr(“id”);
var url_of_elm=url+“#”+锚;
警报(url\u的\u elm);
}
});代码>
div{
边框:1px纯色灰色;
保证金:5px;
填充物:5px;
}
标题1
内容1
别的
标题2
content2其余的content2
别的
标题3
content3是content3中的链接
别的
@Rorymcrossan事实上是这样的。另外,我需要在用户系统的clildhood中复制该URL,这可能吗?@stack您必须复制的链接在哪里?您可以通过jQuery实现。查找([childrenWithLinkInsideIt]然后读取url。我需要在用户系统的子板中复制url\u of_elm
变量的内容。您使用“用户系统的子板”到底是什么意思@RoryMcCrossan实际上是这样的。另外,我需要在用户系统的clildhood中复制该URL,这可能吗?@stack您必须复制的链接在哪里?您可以使用jQuery.find([childrenWithLinkInsideIt]然后读取url。我需要在用户系统的子板中复制url\u of_elm
变量的内容。您对“用户系统的子板”的确切含义是什么谢谢。它可以工作,+1。请您在用户系统的童年复制该URL好吗?@LucaDeNardi使其在浏览器间工作。@Rorymcrossan什么浏览器在点击事件中没有这些标志?我相信IE的旧版本,也可能在OSX上。我现在没有一个可以测试。我同意您的版本是by是最优雅的,但如果您需要旧版浏览器支持,则需要上面的版本。在剪贴板中复制url\u of_elm
变量的内容是不可能的?谢谢。它可以工作,+1。请您在用户系统的童年复制该url?@LucaDeNardi以使其跨浏览器工作。@rorymcross什么浏览器在点击事件中没有这些标志?我相信IE的旧版本,可能在OSX上也有。我现在没有一个可以测试。我同意你的版本是迄今为止最优雅的,但是如果你需要旧浏览器支持,就需要上面的版本。在剪贴板不可能吗?