Gestione combinazione di tasti “ctrl+s’ evento keypress per browser
Stavo cercando di implementare il CTRL+S funzionalità di un browser basato su applicazione.Ho fatto una ricerca e mi sono imbattuto 2 script in seguito a domande
Miglior cross-browser metodo per catturare CTRL+S con JQuery?
Ctrl+S preventDefault in Chrome
Tuttavia,quando ho provato a implementare,ha funzionato,ma ho ancora il browser di default salva finestra di dialogo finestra/.
Il Mio Codice:Per shortcut.js
shortcut.add("Ctrl+S",function() {
alert("Hi there!");
},
{
'type':'keydown',
'propagate':false,
'target':document
});
jquery hotkeys.js
$(document).bind('keydown', 'ctrl+s', function(e) {
e.preventDefault();
alert('Ctrl+S');
return false;
});
Credo e.preventDefault();
dovrebbe fare il trucco,ma per qualche motivo non funziona.Dove vado errato.Scusate se è semplice,ancora di apprendimento javascript.
Grazie per il vostro tempo.
- Il 2 ° per me funziona. Che browser stai usando e che versione è?
- L’ho provato su chrome,FF e IE 8,9.Credo che se io avviso, porta la finestra di default con esso!!Se faccio un
console.log
,non visualizzare la finestra!! 😛 Perché è così?
Non hai bisogno di alcuna di queste librerie, basta provare questo:
Il problema è che il codice si fermò davanti alla
alert()
, impedendo la funzione di interrompere la finestra di dialogo.(Ancora utilizza jQuery)
console.log
,e sembra funzionare bene!! Qualsiasi problema con lo script o è il comportamento di default?? 😛alert
era in pausa il codice prima di poter interrompere la finestra di dialogo salva da mostrare..bind()
funzione, che i ragazzi oltre a jQuery suggeriscono di non utilizzare più. Il'ctrl+s'
sembra essere dati che non sono utilizzati ovunque, sia.switch()
funzione e di espandere la vostra risposta per ogni altro pulsante, comeCtrl + B
,Ctrl + I
e …Questo è quello di aggiungere solo una diversa attuazione alla domanda da me utilizzati.
Adattato da un MODO di rispondere.Inoltre,funziona per MAC
Persone sono ancora la visione di questo sembra, quindi, è probabilmente vale la pena di sottolineare che non c’è bisogno di jQuery su questo, qui:
Che dovrebbe funzionare in tutti i browser, questo funziona anche per la gente che utilizza alternativa dal layout di tastiera QWERTY su Windows, che i rapporti non corretti codici chiave (almeno su Chrome 56 su Windows 10 nel mio test)
Tuttavia, questo risulta un po ‘ goffo e confuso, così se si sono solo sostenere i browser moderni, si può fare invece la seguente:
Non c’è bisogno di utilizzare alcun plugin, basta usare sotto il codice jquery
Dal momento che si sta utilizzando avviso, l’esecuzione si interrompe all’erta e “return false” non viene eseguito finché non si chiude la casella di allarme, questo è il motivo si vede la finestra di dialogo predefinita.
Se il tuo metodo è lunga l’esecuzione di un migliore utilizzo poli metodo, invece.
Dal 2017, invece di utilizzare
e.keyCode === 83
si dovrebbe usaree.key === 's'
in quanto il primo è deprecato.