From b6de14922fb1565d0d1f4a44b1dacc3a95e265a9 Mon Sep 17 00:00:00 2001 From: Eric Price Date: Fri, 21 Aug 2009 12:13:45 -0400 Subject: [PATCH] Update focus rules to failback in safari svn path=/package_branches/invirt-web/ajaxterm-rebased/; revision=2760 --- code/static/ajaxterm/ajaxterm.js | 11 +++++++++-- code/templates/terminal.mako | 1 - 2 files changed, 9 insertions(+), 3 deletions(-) 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()} -- 1.7.9.5