![](/img/trans.png)
[英]How to open a page in new tab when user clicks ctrl key + link button?
[英]How to perform multiple page hyperlink clicks with ctrl key
我想知道如何(如果有办法)通过ctrl键处理多个链接点击。
因此,例如,用户将转到带有大约3个超链接的网页。 然后,用户将按住ctrl键,然后单击一个链接,然后单击另一个链接。 然后,当释放ctrl键时,将发生一个事件(可能是基于两个超链接值的组合进行搜索)。
我正在使用C#,并假定解决方案可能会在jQuery中完成?
该选择应类似于Windows Explorer的工作方式。 在按住ctrl键的位置,选择一个文件,然后选择另一个文件,然后将其剪切或粘贴到某个位置。
感谢您在我正在其他地方寻求帮助时可以提供的任何帮助。
你可以做这样的事情; 保持CTRL键的状态(键代码= 17),按下CTRL键(键下降事件)时,将链接添加到数组中;在keyup事件中(键代码== 17时),在新窗口中打开链接。 确实不可能在选项卡中打开它们,但是有一个适用于Firefox的示例。 阅读此 。
例:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
var ctrlIsDown = false;
var links = new Array();
function afterKeyUp()
{
if(links.length > 0){
for(var link in links){
window.open(links[link]);
}
links = new Array();
$("a").css('color', '');
}
}
$(document).ready(function(){
$(document).keydown(function(e){
if(e.which == 17) {
ctrlIsDown = true;
}
});
$(document).keyup(function(e){
if(e.which == 17) {
ctrlIsDown = false;
afterKeyUp();
}
});
$("a").click(function(e){
if(ctrlIsDown){
var href = $(this).attr("href");
if($.inArray(href, links) == -1)
{
links[links.length] = href;
$(this).css('color', 'red');
}
e.preventDefault();
}
});
});
</script>
</head>
<body>
<a href="1.html">Link 1</a>
<a href="2.html">Link 2</a>
<a href="3.html">Link 3</a>
</body>
</html>
高层次的想法是
1)创建一个CSS类以突出显示所选链接
2)编写javascript函数以检测超链接的KeyDown javsacript事件上的Ctrl键,此函数应将超链接的类切换到选定的链接(以便用户知道选择了哪些超链接),并将超链接的值/ URL添加到隐藏字段中以了解所选超链接的链接
3)在超链接的KeyUp javsacript事件上编写javascript函数,以获取选定的链接并对其执行操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.