diff --git a/resources/static/shared/modules/page_module.js b/resources/static/shared/modules/page_module.js index 54b570841d4f0b3bb250039939ec26e0f173c1f2..02f7a3012e4ce61d1c5923493a882fd74a592588 100644 --- a/resources/static/shared/modules/page_module.js +++ b/resources/static/shared/modules/page_module.js @@ -15,7 +15,7 @@ BrowserID.Modules.PageModule = (function() { cancelEvent = helpers.cancelEvent, mediator = bid.Mediator; - function onKeypress(event) { + function onKeyup(event) { if (event.which === 13) { // IE8 does not trigger the submit event when hitting enter. Submit the // form if the key press was an enter and prevent the default action so @@ -69,7 +69,7 @@ BrowserID.Modules.PageModule = (function() { self.options = options || {}; self.bind("form", "submit", cancelEvent(onSubmit)); - self.bind("input", "keypress", onKeypress); + self.bind("input", "keyup", onKeyup); }, stop: function() { diff --git a/resources/static/test/cases/shared/modules/page_module.js b/resources/static/test/cases/shared/modules/page_module.js index 0544d20f0e97f9dd9e4bce4a2e6fdc2e6350ba32..96c2d441b079d0142f0a162979a0894987cbb1eb 100644 --- a/resources/static/test/cases/shared/modules/page_module.js +++ b/resources/static/test/cases/shared/modules/page_module.js @@ -200,7 +200,7 @@ equal(submitCalled, true, "submit permitted to complete"); }); - test("form is submitted once 'enter keypress' event", function() { + test("form is submitted on 'enter keyup' event", function() { createController(); controller.renderDialog("test_template_with_input", { title: "Test title", @@ -216,14 +216,15 @@ }; // synthesize the entire series of key* events so we replicate the behavior - // of keyboard interaction. + // of keyboard interaction. The order of events is keydown, keypress, + // keyup (http://unixpapa.com/js/key.html). var e = jQuery.Event("keydown", { keyCode: 13, which: 13 }); $("#templateInput").trigger(e); - var e = jQuery.Event("keyup", { keyCode: 13, which: 13 }); + var e = jQuery.Event("keypress", { keyCode: 13, which: 13 }); $("#templateInput").trigger(e); - var e = jQuery.Event("keypress", { keyCode: 13, which: 13 }); + var e = jQuery.Event("keyup", { keyCode: 13, which: 13 }); $("#templateInput").trigger(e); equal(submitCalled, 1, "submit called a single time");