2013-05-31 115 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的工作.. :(這就是我發佈這個問題的原因! –

相關問題