![](/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.