Browse Source

PreventDefault when keystroke is handled to avoid typing, e.g. when Space is pressed.

Aleksander Nowodzinski 8 years ago
parent
commit
ef120baeec

+ 1 - 0
packages/ckeditor5-ui/src/list/listitemview.js

@@ -62,6 +62,7 @@ export default class ListItemView extends View {
 
 					if ( keyCode == 13 || keyCode == 32 ) {
 						this.fire( 'execute' );
+						evt.preventDefault();
 					}
 				} )
 			}

+ 4 - 0
packages/ckeditor5-ui/tests/list/listitemview.js

@@ -91,20 +91,24 @@ describe( 'ListItemView', () => {
 			it( 'triggers view#execute event when Enter or Space key is pressed', () => {
 				const spy = sinon.spy();
 				const evt = new Event( 'keydown' );
+				const preventSpy = sinon.spy( evt, 'preventDefault' );
 
 				view.on( 'execute', spy );
 
 				evt.keyCode = 10;
 				view.element.dispatchEvent( evt );
 				expect( spy.calledOnce ).to.be.false;
+				expect( preventSpy.calledOnce ).to.be.false;
 
 				evt.keyCode = 13;
 				view.element.dispatchEvent( evt );
 				expect( spy.calledOnce ).to.be.true;
+				expect( preventSpy.calledOnce ).to.be.true;
 
 				evt.keyCode = 32;
 				view.element.dispatchEvent( evt );
 				expect( spy.calledTwice ).to.be.true;
+				expect( preventSpy.calledTwice ).to.be.true;
 			} );
 		} );
 	} );