From: Eric Price Date: Fri, 21 Aug 2009 16:13:45 +0000 (-0400) Subject: Update focus rules to failback in safari X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-web.git/commitdiff_plain/b6de14922fb1565d0d1f4a44b1dacc3a95e265a9 Update focus rules to failback in safari svn path=/package_branches/invirt-web/ajaxterm-rebased/; revision=2760 --- diff --git a/code/static/ajaxterm/ajaxterm.js b/code/static/ajaxterm/ajaxterm.js index f1703b3..c4501b4 100644 --- a/code/static/ajaxterm/ajaxterm.js +++ b/code/static/ajaxterm/ajaxterm.js @@ -253,8 +253,15 @@ ajaxterm.Terminal_ctor=function(id,machine_id) { opt_color.attachEvent("onclick", do_color); opt_paste.attachEvent("onclick", do_paste); } - $('term').onkeypress=keypress; - $('term').onkeydown=keydown; + // If tabIndex works, only grab keyboard events when terminal is focused + // Otherwise, grab from whole document (e.g. in Safari). + var focus_element = document; + if(typeof $('term').tabIndex != "undefined") { + focus_element = $('term'); + focus_element.focus(); + } + focus_element.onkeypress=keypress; + focus_element.onkeydown=keydown; force=true; timeout=window.setTimeout(update,100); } diff --git a/code/templates/terminal.mako b/code/templates/terminal.mako index 9f1854f..320fc93 100644 --- a/code/templates/terminal.mako +++ b/code/templates/terminal.mako @@ -21,7 +21,6 @@ ${parent.header_extra()}