Merge pull request #3221 from FreeCodeCamp/fix/keydown-binding

fix modal auto-submitting
This commit is contained in:
Quincy Larson
2015-09-09 21:52:03 -07:00

View File

@ -421,6 +421,7 @@ var testSuccess = function() {
function ctrlEnterClickHandler(e) { function ctrlEnterClickHandler(e) {
// ctrl + enter // ctrl + enter
if (e.ctrlKey && e.keyCode === 13) { if (e.ctrlKey && e.keyCode === 13) {
$('#complete-courseware-dialog').off('keydown', ctrlEnterClickHandler);
$('#submit-challenge').click(); $('#submit-challenge').click();
} }
} }
@ -441,17 +442,9 @@ function showCompletion() {
var bonfireSolution = myCodeMirror.getValue(); var bonfireSolution = myCodeMirror.getValue();
var didCompleteWith = $('#completed-with').val() || null; var didCompleteWith = $('#completed-with').val() || null;
$('#complete-courseware-dialog').modal('show'); $('#complete-courseware-dialog').modal('show');
$('#complete-courseware-dialog .modal-header').click(); $('#complete-courseware-dialog .modal-header').click();
$('#complete-courseware-dialog').keyup(function(e) {
// ctrl + enter
if (e.ctrlKey && e.keyCode === 13) {
$('#submit-challenge').click();
}
});
$('#submit-challenge').click(function(e) { $('#submit-challenge').click(function(e) {
e.preventDefault(); e.preventDefault();
@ -785,12 +778,12 @@ $(document).ready(function() {
// init modal keybindings on open // init modal keybindings on open
$('#complete-courseware-dialog').on('shown.bs.modal', function() { $('#complete-courseware-dialog').on('shown.bs.modal', function() {
$('#complete-courseware-dialog').keyup(ctrlEnterClickHandler); $('#complete-courseware-dialog').keydown(ctrlEnterClickHandler);
}); });
// remove modal keybinds on close // remove modal keybinds on close
$('#complete-courseware-dialog').on('hidden.bs.modal', function() { $('#complete-courseware-dialog').on('hidden.bs.modal', function() {
$('#complete-courseware-dialog').unbind('keyup', ctrlEnterClickHandler); $('#complete-courseware-dialog').off('keydown', ctrlEnterClickHandler);
}); });
var $preview = $('#preview'); var $preview = $('#preview');