你好有没有办法在javascript中执行以下操作:
我希望用户点击网页上的链接,当点击该链接时,它将等同于按CONTROL + D,除非没有实际按任何键。
谢谢
答案 0 :(得分: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!
});
答案 1 :(得分:0)
您只能在jQuery中模拟并跟踪事件,但您无法做到这一点,就像用户进行了那些按键操作一样。
这是一个无法用javascript
覆盖的安全问题。
答案 2 :(得分: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
}
}
然后绑定click处理程序以调用函数:
$('#yourLink').on('click', function(e) {
addBookmark($(this).attr('title'), $(this).attr('href'));
});