在Javascript中模拟按键
可能重复:在Javascript中模拟按键,javascript,keypress,simulate,Javascript,Keypress,Simulate,可能重复: 您好,有没有办法在javascript中执行以下操作: 我希望用户点击网页上的一个链接,当点击该链接时,它将等同于他们按下CONTROL+D,只是没有实际按下任何键 谢谢您可以仅在jQuery中模拟并跟踪为事件,但您不能像用户按下这些键那样进行模拟 这是一个不能用javascript覆盖的安全问题。您可以仅在jQuery中模拟并作为事件跟踪,但您不能像用户按下这些键那样进行操作 这是一个无法用javascript覆盖的安全问题。您无法在系统级从用户输入中获取其他内容。假设您想让用户
您好,有没有办法在javascript中执行以下操作: 我希望用户点击网页上的一个链接,当点击该链接时,它将等同于他们按下CONTROL+D,只是没有实际按下任何键
谢谢您可以仅在jQuery中模拟并跟踪为事件,但您不能像用户按下这些键那样进行模拟
这是一个不能用
javascript
覆盖的安全问题。您可以仅在jQuery中模拟并作为事件跟踪,但您不能像用户按下这些键那样进行操作
这是一个无法用
javascript
覆盖的安全问题。您无法在系统级从用户输入中获取其他内容。假设您想让用户为链接添加书签(这就是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'));
});
您不能从系统级的用户输入中生成其他内容。假设您想让用户为链接添加书签(这就是
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'));
});
如果您使用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!
});
如果您使用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!
});
这正是为什么这不起作用的原因。用户做一件事,而你在系统层面上做另一件事,这是行不通的。谢谢。。。现在我明白了,这正是这不起作用的原因。用户做一件事,而你在系统层面上做另一件事,这是行不通的。谢谢。。。现在我了解到Mihai exista vreo在privat ori undeva anume?的国际贸易中的地位。。。在浪漫主义中,我们可以用简单的语言来表达……我是Profectdar女士,我是nu am acces女士,我是trebuie sa am reputatie Minimum“20”。。。oricumProblema e ca eu te vad acolo.prietene,nu ma lasa:)“你必须在堆栈溢出上有20个声誉才能在这里交谈”。。。在这一点上,奥里库姆·马尔女士可以选择在私人或私人领域进行投资。。。在浪漫主义中,我们可以用简单的语言来表达……我是Profectdar女士,我是nu am acces女士,我是trebuie sa am reputatie Minimum“20”。。。oricumProblema e ca eu te vad acolo.prietene,nu ma lasa:)“你必须在堆栈溢出上有20个声誉才能在这里交谈”。。。las nu`ti mai bate capul女士oricum mare domnthat仅模拟事件而非用户操作仅模拟事件而非用户操作不适用于书签。。。但我会试试你的例子。。。谢谢你不是为了书签。。。但我会试试你的例子。。。非常感谢。