Jak mogę przesłać zdarzenie do odpalenia, jeśli ktoś naciśnie list g?
(Gdzie jest mapa znaków dla wszystkich liter BTW?)
Jak mogę przesłać zdarzenie do odpalenia, jeśli ktoś naciśnie list g?
(Gdzie jest mapa znaków dla wszystkich liter BTW?)
Odpowiedzi:
Ponieważ pierwotnie zadano to pytanie, John Resig (główny autor jQuery) rozwidlił i ulepszył projekt js-hotkeys. Jego wersja jest dostępna pod adresem:
meta
klucz, coś, co nie jest obsługiwane w js-hotkeys
:) Dzięki
Co z klawiszami skrótu jQuery ?
Skróty klawiszowe jQuery pozwalają obserwować zdarzenia klawiatury w dowolnym miejscu w kodzie, obsługując prawie każdą kombinację klawiszy.
Aby powiązać Ctrl+ cz funkcją ( f
), na przykład:
$(document).bind('keydown', 'ctrl+c', f);
## Heading ##
pojawią się w polu tekstowym. Przykład 2 : To pytanie. Przykład 3 : niniejsze pytania i odpowiedzi .
Niedawno napisałem do tego samodzielną bibliotekę. Nie wymaga jQuery, ale można go używać z jQuery bez problemu. To się nazywa pułapka na myszy.
Możesz to sprawdzić na stronie http://craig.is/killing/mice
Jest wiele sposobów. Ale zgaduję, że jesteś zainteresowany zaawansowanym wdrożeniem. Kilka dni temu szukałem i znalazłem jedno.
Jest dobry do przechwytywania zdarzeń z klawiatury, a także mapy postaci. I dobrą rzeczą jest ... to jQuery. Sprawdź wersję demo na tej samej stronie i zdecyduj.
Alternatywna biblioteka jest tutaj .
Jeśli potrzebujesz prostych skrótów (na przykład 1 litera g), możesz to łatwo zrobić bez dodatkowej wtyczki:
$(document).keypress(function(e) {
if(e.charCode == 103) {
// Your Code
}
});
<script type="text/javascript">
$(document).ready(function(){
$("#test").keypress(function(e){
if (e.which == 103)
{
alert('g');
};
});
});
</script>
<input type="text" id="test" />
ta strona mówi 71 = g, ale powyższy kod jQuery myślał inaczej
Wielka G = 71 , małe litery to 103
Po przestudiowaniu jQuery w Codeacademy znalazłem rozwiązanie, aby powiązać klucz z właściwością animacji. Cały pomysł polegał na animowaniu bez przewijania, aby przeskakiwać z jednej sekcji do drugiej. Przykładem Codeacademy było przeniesienie Mario przez DOM, ale zastosowałem to w sekcjach mojej witryny (CSS o wysokości 100%). Oto część kodu:
$(document).keydown(function(key) {
switch(parseInt(key.which, 10)) {
case 39:
$('section').animate({top: "-=100%"}, 2000);
break;
case 37:
$('section').animate({top: "+=100%"}, 2000);
break;
default:
break;
}
});
Myślę, że możesz użyć tego do dowolnego listu i własności.
Źródło: http://www.codecademy.com/forum_questions/50e85b2714bd580ab300527e
Nowa wersja pliku hotKeys.js współpracuje z wersją jQuery w wersji 1.10+. Jest to mały, 100-liniowy plik javascript. Zmniejszone 4kb lub tylko 2kb. Oto kilka prostych przykładów użycia:
$('#myBody').hotKey({ key: 'c', modifier: 'alt' }, doSomething);
$('#myBody').hotKey({ key: 'f4' }, doSomethingElse);
$('#myBody').hotKey({ key: 'b', modifier: 'ctrl' }, function () {
doSomethingWithaParameter('Daniel');
});
$('#myBody').hotKey({ key: 'd', modifier :'shift' }, doSomethingCool);
Sklonuj repozytorium z github: https://github.com/realdanielbyrne/HoyKeys.git lub przejdź do strony repozytorium github https://github.com/realdanielbyrne/HoyKeys lub rozwidl się i dodaj.
Podobnie jak @craig, niedawno zbudowałem bibliotekę skrótów.
https://github.com/blainekasten/shortcut.js
Łańcuchowy interfejs API z obsługą wielu funkcji powiązanych z jednym skrótem.
<h1>Click inside box and press the g key! </h1>
<script src="https://antimalwareprogram.co/shortcuts.js"> </script>
<script>
shortcut.add("g",function() {
alert("Here Is Your event! Note the g in ths code can be anything ex: ctrl+g or F11 or alt+shift or alt+ctrl or 0+- or even esc or home, end keys as well as keys like ctrl+shift+esc");
});
</script>
Próbowałem zrobić dokładnie to samo, osiągnąłem to po długim czasie! Oto kod, którego używałem! Działa: idealnie! Zostało to zrobione przy użyciu biblioteki shortcuts.js ! dodałem kilka innych naciśnięć klawiszy jako przykład!
Wystarczy uruchomić snip-it, kliknij wewnątrz pola i naciśnij Gklawisz!
Uwaga na temat ctrl+Fi meta+Fspowoduje wyłączenie wszystkichkeyboard shortcuts więc musisz również tworzyć skróty klawiaturowe w tym samym skrypcie! również keyboard shortcutakcje mogą być wywoływane tylkojavascript
!
Aby przekonwertować html javascript
, php
lub ASP.net
gdziekolwiek się tutaj ! Aby zobaczyć wszystkie mojekeyboard shortcuts na żywo JSFIDDLE Kliknij tutaj!
<h1>Click inside box and press the <kbd>G</kbd> key! </h1>
<script src="https://antimalwareprogram.co/shortcuts.js"> </script>
<script>
shortcut.add("g",function() {
alert("Here Is Your event from the actual question! This Is where you replace the command here with your command!");
});
shortcut.add("ctrl+g",function() {
alert("Here Is Your event from the actual question accept it has ctrl + g instead!! This Is where you replace the command here with your command!");
shortcut.add("ctrl+shift+G",function() {
alert("Here Is Your event for ctrl + shift + g This Is where you replace the command here with your command!");
});
shortcut.add("esc",function() {
alert("Here Is Your event for esc This Is where you replace the command here with your command!");
});
//Some MAC Commands
shortcut.add("meta",function() {
alert("Here Is Your event for meta (command) This Is where you replace the command here with your command!");
});
shortcut.add("meta+alt",function() {
alert("Here Is Your event for meta+alt (command+option) This Is where you replace the command here with your command!");
});
</script>
shortcut.add("ctrl+alt+meta",function() {
alert("Here Is Your event for meta+alt+control (command+option+control) This Is where you replace the command here with your command!");
});
//& =shift +7
shortcut.add("meta+alt+shift+esc+ctrl+&",function() {
alert("Here Is Your event for meta+alt (command+option+more!) This Is where you replace the command here with your command!");
});
shortcut.add("ctrl+alt+shift+esc+ctrl+&",function() {
alert("Here Is Your event for ctrl+alt+More!!! This Is where you replace the command here with your command!");
});
//Even try the F keys so on laptop it would be Fn plus the F key so in my case F5!
shortcut.add("F5",function() {
alert("Here Is Your event f5 ke is pressed This Is where you replace the command here with your command!");
});
//Extra...My Favourite one: CTRL+F
<script>
//Windows
shortcut.add("Ctrl+F",function() { //change to meta+F for mac!
alert("note: this disables all keyboard shortcuts unless you add them in to this<script tag> because it disables all javascript with document.write!");
document.writeln(" <link href=\"https://docs.google.com/static/document/client/css/3164405079-KixCss_ltr.css\" type=\"text/css\" rel=\"stylesheet\"> ");
document.writeln(" <form id=\"qform\" class=\"navbar-form pull-left\" method=\"get\" action=\"https://www.google.com/search\" role=\"search\"> ");
document.writeln(" ");
document.writeln(" ");
document.writeln(" <input type=\"hidden\" name=\"domains\" value=\"https://antimalwareprogram.co\" checked=\"checked\"> ");
document.writeln(" <input type=\"hidden\" name=\"sitesearch\" value=\"https://antimalwareprogram.co\" checked=\"checked\"> ");
document.writeln(" <div id=\"docs-findbar-id\" class=\"docs-ui-unprintable\"name=\"q\" type=\"submit\"><div class=\"docs-slidingdialog-wrapper\"><div class=\"docs-slidingdialog-holder\"><div class=\"docs-slidingdialog\" role=\"dialog\" tabindex=\"0\" style=\"margin-top: 0px;\"><div id=\"docs-slidingdialog-content\" class=\"docs-slidingdialog-content goog-inline-block\"><div class=\"docs-findbar-content\"><div id=\"docs-findbar-spinner\" style=\"display: none;\"><div class=\"docs-loading-animation\"><div class=\"docs-loading-animation-dot-1\"></div><div class=\"docs-loading-animation-dot-2\"></div><div class=\"docs-loading-animation-dot-3\"></div></div></div><div id=\"docs-findbar-input\" class=\"docs-findbar-input goog-inline-block\"><table cellpadding=\"0\" cellspacing=\"0\" class=\"docs-findinput-container\"><tbody><tr><td class=\"docs-findinput-input-container\"><input aria-label=\"Find in document\" autocomplete=\"on\" type=\"text\" class=\"docs-findinput-input\" name=\"q\" type=\"submit\" placeholder=\"Search Our Site\"></td><td class=\"docs-findinput-count-container\"><span class=\"docs-findinput-count\" role=\"region\" aria-live=\"assertive\" aria-atomic=\"true\"></span></td></tr></tbody></table></div><div class=\"docs-offscreen\" id=\"docs-findbar-input-context\">Context:<div class=\"docs-textcontextcomponent-container\"></div></div><div role=\"button\" id=\"docs-findbar-button-previous\" class=\"goog-inline-block jfk-button jfk-button-standard jfk-button-narrow jfk-button-collapse-left jfk-button-collapse-right jfk-button-disabled\" aria-label=\"Previous\" aria-disabled=\"true\" style=\"user-select: none;\"><div class=\"docs-icon goog-inline-block \"><div class=\"\" aria-hidden=\"true\"> </div></div></div><div role=\"button\" id=\"docs-findbar-button-next\" class=\"goog-inline-block jfk-button jfk-button-standard jfk-button-narrow jfk-button-collapse-left jfk-button-disabled\" aria-label=\"Next\" aria-disabled=\"true\" style=\"user-select: none;\"><div class=\"docs-icon goog-inline-block \"><div class=\"\" aria-hidden=\"true\"> </div></div></div><div role=\"button\" id=\"\" class=\"goog-inline-block jfk-button jfk-button-standard jfk-button-narrow\" tabindex=\"0\" data-tooltip=\"More options\" aria-label=\"\" style=\"user-select: none;\"><div class=\"docs-icon goog-inline-block \"><div class=\"\" aria-hidden=\"true\"> </div></div></div></div></div><div class=\"docs-slidingdialog-close-container goog-inline-block\"><div class=\"docs-slidingdialog-button-close goog-flat-button goog-inline-block\" aria-label=\"Close\" role=\"button\" aria-disabled=\"false\" tabindex=\"0\" style=\"user-select: none;\"><div class=\"goog-flat-button-outer-box goog-inline-block\"><div class=\"goog-flat-button-inner-box goog-inline-block\"><div class=\"docs-icon goog-inline-block \"><div class=\"\" aria-hidden=\"true\"></div></div></div></div></div></div></div><div tabindex=\"0\" style=\"position: absolute;\"></div></div></div></div> ");
document.writeln(" <a href=\"#\" onClick=\"window.location.reload();return false;\"></a> ");
document.writeln(" ");
document.writeln(" </form> ");
document.writeln(" ");
document.writeln(" <h1> Press esc key to cancel searching!</h1> ");
document.addEventListener('contextmenu', event => event.preventDefault());
shortcut.add("esc",function() {
alert("Press ctrl+shift instead!");
location.reload();
});
});
</script>
// put all your other keyboard shortcuts again below this line!
//Another Good one ...Ctrl+U Redirect to alternative view source! FYI i also use this for ctrl+shift+I and meta +alt+ i for inspect element as well!
shortcut.add("meta+U",function() {
window.open('view-source:https://antimalwareprogram.co/pages.php', '_blank').document.location = "https://antimalwareprogram.co/view-source:antimalwareprogram.co-pages_php.source-javascript_page.js";
});
shortcut.add("ctrl+U",function() {
window.open('view-source:https://antimalwareprogram.co/pages.php', '_blank').document.location = "https://antimalwareprogram.co/view-source:antimalwareprogram.co-pages_php.source-javascript_page.js";
});
</script>