1

可能重复:
我可以在 Javascript 中执行 SendKeys 吗?

您好,有什么方法可以在 javascript 中执行以下操作:

我希望用户单击网页上的链接,当单击该链接时,它相当于按下 CONTROL + D,除非实际上没有按下任何键。

谢谢

4

3 回答 3

1

如果你使用 jQuery,你也许可以做这样的事情。

$("#linkId").click(function(event) {
    event.preventDefault(); // Stop the link click from doing anything.
    var ev = jQuery.Event("keypress"); // Build an event to simulate keypress.
    ev.which = 68; // Keycode for 'd' is 68
    ev.ctrlKey = true; // Control key is down.
    $(this).trigger(ev); // Fire!
});
于 2012-08-20T10:08:39.173 回答
0

您只能在 jQuery 中进行模拟并作为事件进行跟踪,但您不能像用户按下这些按键一样进行模拟。

这是一个无法用javascript.

于 2012-08-20T10:02:38.160 回答
0

您不能在系统级别从用户输入中做出其他事情。假设您想让用户为链接添加书签(这就是这样Control + D做的),这可以让您到达您想要的位置:

function addBookmark(title,url){ 
  if(window.sidebar){ 
    window.sidebar.addPanel(title, url, ""); 
  } else if(document.all){ 
    window.external.AddFavorite(url, title); 
  } else if((window.opera && window.print) || window.chrome){ 
    // Chrome & Opera do not have an add Favorite function on window
    alert('Press Control+D to bookmark (Command+D for macs) after you click Ok');
    // or something similar
  }
}

然后绑定单击处理程序以调用该函数:

$('#yourLink').on('click', function(e) {
  addBookmark($(this).attr('title'), $(this).attr('href'));
});
于 2012-08-20T10:08:28.687 回答