Ho già questo codice che mi si avvicinò con:Posso semplificare cliccando sul tasto invio con AngularJS?
Nel mio controller esterno:
$scope.key = function ($event) {
$scope.$broadcast('key', $event.keyCode)
}
Nel mio controller interno (ho più di uno come questo)
$scope.$on('key', function (e, key) {
if (key == 13) {
if (ts.test.current) {
var btn = null;
if (ts.test.userTestId) {
btn = document.getElementById('viewQuestions');
} else {
btn = document.getElementById('acquireTest');
}
$timeout(function() {
btn.focus();
btn.click();
window.setTimeout(function() {
btn.blur();
}, 500);
})
}
}
});
Is c'è un altro modo in cui posso semplificarlo utilizzando alcune funzionalità di AngularJS che non ho incluso qui?
Si sta utilizzando un modulo sulle pagine che è necessario inserire la funzionalità chiave? –
Dovresti fornire l'usecase. Sicuramente aiuta se otteniamo più informazioni sul contesto. – Okazari
@joe - Non sto utilizzando un modulo perché ho pulsanti diversi che vengono mostrati e nascosti e non un solo pulsante. In questo esempio, ad esempio, faccio qualcosa di diverso a seconda che inf sia impostato o meno l'ID utente. –