2013-05-31 121 views
0

那么,我的查询是我想用点击链接时使用jQuery或纯Javascript生成(模拟)键盘事件。例如。我在页面上有一个超链接,点击那个链接,我想触发键盘的CTRL + F事件。模拟jQuery(或纯JavaScript)键盘事件点击一个链接

链接

<a href="#" class="ctrlf">Generate CTRL+F</a> 

功能

$(document).ready(function(){ 
$("a.ctrlf").click(function(e){ 
    //Some actions :O 
    }); 
    }); 

我应该写a.ctrlf点击功能里面有什么?

这是不是很奇怪呢?如果您有解决方案,请分享您的想法。提前致谢。干杯.. :)

+0

你想要的JavaScript代码来触发浏览器的API?我很确定这是不可能的,我非常确定这是非常危险的。你想让任何网页能够使用你的浏览器/其他程序做什么吗? –

+0

@KamilT这就像使用JavaScript触发键盘事件。说,我想用'我的代码'找到'功能(CTRL + F)。可能吗? –

+1

嗯,我不认为这是可能的,这将是一个巨大的威胁。试想一下,如果您遇到一个会触发键盘事件的恶意页面,例如“为此页面添加书签”,“保存页面”或“打开新标签页”,会发生一次,会发生一次。如果你从未碰到过像taht这样的页面,那么这种行为可能是不可能的;) –

回答

0

试试这个:

$(document).ready(function(){ 
    $("a.ctrlf").click(function(e){ 
     e.which = 6; // # Some key code value 
     $("input").trigger(e); 
    }); 
}); 

或者是你没有意思?

+0

不..这就像触发键盘事件使用javascript。说,我想'找到'功能(CTRL + F)只是使用我的代码。似乎我们不能从网页内部调用浏览器控件..! –

1

如果是关于书签,就像您在评论中所说的那样,这是一个棘手的问题。一些浏览器,如IE,Mozilla和Opera,可以添加书签“从代码”。你不能在Chrome中这样做,我不知道在Safari中是什么样的。代码:

$(function() { 
    $("#bookmarkme").click(function() { 
    if (window.sidebar) { 
    // Firefox 
     window.sidebar.addPanel(location.href,document.title,""); 
    } 
    else if(window.external) { 
    // Internet Explorer 
    window.external.AddFavorite(location.href,document.title); 
    } 
    else if(window.opera && window.print) { 
    // Opera 
     this.title=document.title; 
    } 
}); 

尽管如此,大多数用户将preffer添加页面手动书签上自己;)

+0

是啊..感谢nswer。我已经有类似的解决方案,但没有与铬和Safari的工作.. :(这就是我发布这个问题的原因! –

相关问题