diff --git a/bower.json b/bower.json index f61a3395..71ac4581 100644 --- a/bower.json +++ b/bower.json @@ -1,5 +1,5 @@ { "name": "xterm.js", - "version": "0.6", + "version": "0.7", "ignore": ["demo", "docs", "test", ".gitignore"] -} \ No newline at end of file +} diff --git a/demo/main.js b/demo/main.js index b03edf7d..67a2180b 100644 --- a/demo/main.js +++ b/demo/main.js @@ -17,7 +17,6 @@ term.on('key', function (key, ev) { var printable = (!ev.altKey && !ev.altGraphKey && !ev.ctrlKey && !ev.metaKey); if (ev.keyIdentifier == 'Enter') { - ev.preventDefault(); term.prompt(); } else if (ev.keyCode == 8) { term.write('\b \b'); diff --git a/src/xterm.js b/src/xterm.js index 90caaad9..026d3077 100644 --- a/src/xterm.js +++ b/src/xterm.js @@ -2173,14 +2173,17 @@ Terminal.prototype.keyDown = function(ev) { break; } key = '\t'; + this.cancel(ev, true); break; // return/enter case 13: key = '\r'; + this.cancel(ev, true); break; // escape case 27: key = '\x1b'; + this.cancel(ev, true); break; // left-arrow case 37: @@ -2354,7 +2357,7 @@ Terminal.prototype.keyDown = function(ev) { this.emit('keydown', ev); this.emit('key', key, ev); - + console.log('keydown'); this.showCursor(); this.handler(key); @@ -2396,7 +2399,7 @@ Terminal.prototype.keyPress = function(ev) { this.emit('keypress', key, ev); this.emit('key', key, ev); - + console.log('keypress'); this.showCursor(); this.handler(key); @@ -4660,17 +4663,12 @@ function off(el, type, handler, capture) { el.removeEventListener(type, handler, capture || false); } -function cancel(ev) { - if (!this.cancelEvents) { +function cancel(ev, force) { + if (!this.cancelEvents && !force) { return; } - if (ev.preventDefault) { - ev.preventDefault(); - } - if (ev.stopPropagation) { - ev.stopPropagation(); - } - ev.cancelBubble = true; + ev.preventDefault(); + ev.stopPropagation(); return false; }