2014-01-13 188 views
1

我有一個button.Now當我點擊按鈕的cltrl + S將被壓或tiggered.How做/我都試過了,觸發CTRL + S當按鈕被點擊

$("#btn").click(function() { 
    var e = jQuery.Event("keydown", { keyCode: 83, ctrlKey:true}); 
    jQuery("body").trigger(e); 
}); 
+0

測試你爲什麼想這樣做??? –

+2

這不會使瀏覽器保存頁面,因爲瀏覽器的關鍵處理是在JavaScript引擎之外完成的。 – Pietu1998

+0

我想保存一個xml頁面點擊事件...通常在另一個選項卡中打開。 – Poles

回答

1

使用一個<a href>(HTML5),如:

<a href="downloads/file.xml" download>Download File</a> 

,如果你喜歡使用JavaScript創建一個XML文件,然後用標籤保存它,你可以這樣做:

var xml = '<xml><node1>bla</node1><node2 var="aa">abla</node2></xml>'; 
xml = btoa(xml); // Converts xml string to base64 (use atob to convert base64 back to string) 
var a = document.createElement('a'); // Create A element 
a.href = 'data:text/xml;base64,' + xml; // Set base64 encoded href 
a.setAttribute('download', ''); // add html5 download tag 
a.appendChild(document.createTextNode('download xml file'); // Add link text 
body.appendChild(a); // And add element to the page. 

在HTML文件中的代碼粘貼和查看你的自我:)

注:此代碼可能無法在所有的瀏覽器,用IE11和Chrome

+0

不能正常工作.... :( – Poles

+0

你使用的瀏覽器是哪個版本? 這個在谷歌瀏覽器(31) – WhiteFang

+0

無法在任何瀏覽器上運行 – dhpratik