2016-06-20 2 views
0

Я хочу открыть пользовательское всплывающее окно, нажав CTRL + F, но в IE он также открывает функцию поиска. Как я могу предотвратить эту опцию поиска?Как я могу предотвратить открытие опции по умолчанию в IE?

+0

У меня нет IE, чтобы создавать/тестировать что-то для вас, но я хотел упомянуть, что замена функции CTRL-F обычно не оценена вашими пользователями. Я пережил это несколько раз и всегда был медленнее и менее надежным, чем браузер, к которому я привык. –

+0

@ ChhristiaanMaks: Действительно. Почти единственный случай использования, который я вижу, не раздражает людей, - это когда вы печатаете в онлайн-редакторе документов (например, в Документах Google), где Ctrl + F открывает функцию поиска, которая работает с документом (и на самом деле Google Docs делает это). Почти все будет раздражать людей. :-) –

ответ

1

Вы крючок keydown и предотвратить действие по умолчанию:

document.addEventListener("keydown", function(e) { 
 
    if (e.ctrlKey && (e.which || e.keyCode) == 70) { // 70 = F key 
 
     e.preventDefault(); 
 
     console.log("You pressed Ctrl+F"); 
 
    } 
 
}, false);
Click here to focus the document, then press Ctrl+F

Это работает на IE11, а также Chrome и Firefox, с помощью Ctrl + F. Вы не можете переопределить некоторые другие клавиши, например Ctrl + T.

+0

Я использую IE 11, но все же я получаю опцию find – Ashish

+0

@Ashish: вам нужно убедиться, что документ имеет фокус, чтобы получать на нем события keydown. Вот почему текст «Нажмите здесь, чтобы сфокусировать документ». (Убедитесь, что вы нажмете [Выполнить фрагмент кода], а затем сфокусируйте фактический фрагмент документа, а не код, указанный выше.) –

Смежные вопросы