編輯:等待過了一會兒,並沒有得到任何東西,我決定 只爲 IE快捷方式做啄禁用現在。是否有可能禁用 IE快捷鍵訪問菜單/打印 等通過VBScript?禁用Internet Explorer快捷鍵
是否有可能禁用瀏覽器的快捷鍵?
因爲他們很多都在使用中的應用程序。例如,按Ctrl +p使用,我不希望瀏覽器彈出打印窗口。
編輯:等待過了一會兒,並沒有得到任何東西,我決定 只爲 IE快捷方式做啄禁用現在。是否有可能禁用 IE快捷鍵訪問菜單/打印 等通過VBScript?禁用Internet Explorer快捷鍵
是否有可能禁用瀏覽器的快捷鍵?
因爲他們很多都在使用中的應用程序。例如,按Ctrl +p使用,我不希望瀏覽器彈出打印窗口。
是的,你可以聽與JavaScript的各種組合鍵和禁用默認的行爲。甚至有一個圖書館,你可以使用和測試here。我只是在他們的demo textarea中使用google chrome和firefox進行了測試,並且可以按照您的需要進行操作。
shortcut.add("Ctrl+P",function() {
return;
});
這適用於上面列出的瀏覽器,但IE不允許您在某些情況下覆蓋默認行爲。
你在IE中唯一的選擇就是用像完全禁用Ctrl鍵:
document.onkeydown = function() {
if (event.keyCode == 17) alert('Ctrl Key is disabled');
};
這是不理想,可能不是你想要的,但它會奏效。
Ctrl + P :( – 2009-07-15 09:42:14
)我在使用下面的「Live Execution」面板感到很厭倦,我把鍵從「Ctrl + Shift + X」更改爲「Ctrl + P」,它顯示打印窗口。這意味着瀏覽器仍在監聽密鑰。我正在使用firefox 3. – 2009-07-15 09:45:13
有一些操作你不能禁用 – Boldewyn 2009-07-15 09:47:39
您可以嘗試創建keydown事件的事件處理程序,檢查的鍵碼,防止其默認動作如果需要的話。但是,這不適用於所有瀏覽器。
爲Firefox(取消「打印」短項,驗證)的一個例子:
document.addEventListener("keydown", function(oEvent) {
if (oEvent.keyCode == 80 && oEvent.ctrlKey)
oEvent.preventDefault();
}, false)
我對類似問題的工作,hooking keyboard event下面代碼工作很好地禁用,除了閃光物體上的IE瀏覽器有沒有得到了重點。由於我正在嘗試處理Flash對象上的鍵盤事件,因此此代碼對我無效。
function hookKeyboardEvents(e) {
// get key code
var key_code = (window.event) ? event.keyCode : e.which;
// case :if it is IE event
if (window.event)
{
if (!event.shiftKey && !event.ctrlKey) {
window.event.returnValue = null;
event.keyCode = 0;
}
}
// case: if it is firefox event
else
e.preventDefault();
}
window.document.onkeydown = hookKeyboardEvents;
從您的應用程序調用上按Ctrl + P的方法只是使鍵碼爲zero.I認爲,這將解決您的問題後...
window.event.keyCode = 0;
這將設置的鍵碼作爲zero..So當鍵代碼資源管理器檢查,這將是零......所以默認功能將不執行......
試試這個...只是一個建議
這適用於IE 8中的重要部分,IE需要將ev.returnValue設置爲false。注意:這隻有在你關注文檔中的某個元素時纔有效......也就是說,如果你只是加載頁面並點擊'ctrl-p',你會看到打印對話框。但是,如果你點擊頁面上的某個地方,然後嘗試它,它應該禁止打印對話框。
document.onkeydown = function (e) {
var ev = e||window.event;
// Do what I want keys to do ...
// Block browser short cuts
if(ev.preventDefault) // non-IE browsers
ev.preventDefault();
else // IE Only
ev.returnValue = false;
};
有一個很好的把戲與IE10 +打,以避免Alt組合鍵顯示瀏覽器菜單,像Alt + F
,Alt + H
...
我最近在IE11中使用,只需添加一個錨與對你的身體
<body>
<a href="#" accesskey="f"></a>
<script type="text/javascript">
window.onkeydown = function(e){
console.log(e.keyCode + " alt: " + e.altKey);
e.preventDefault();
};
window.onkeyup = function(e){
console.log(e.keyCode + " alt: " + e.altKey);
e.preventDefault();
};
</script>
</body>
現在[yourKey]
當你按下Alt + f
瀏覽器不會顯示「文件彈出」像往常一樣,並讓事件KeyDown和KEYUP得到:屬性accesskey
對你而言,而不僅僅是分身。
你是否設法讓這個工作?我遇到了同樣的問題,但仍找不到解決方案。 – 2014-10-06 14:14:25
@DianaAmza,我找不到解決方案。 IE不會允許您覆蓋默認行爲。 – 2014-10-10 07:21:57
好的,謝謝! – 2014-10-13 08:01:57