From aef04f1c753662291d11038f2aa4f96910b1acf2 Mon Sep 17 00:00:00 2001 From: Lindsay Evans Date: Tue, 24 Apr 2012 12:01:31 +1000 Subject: [PATCH] Adding proper event handling --- outline.js | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/outline.js b/outline.js index 784a8ef..ecfefae 100644 --- a/outline.js +++ b/outline.js @@ -2,17 +2,26 @@ // based on http://www.paciellogroup.com/blog/2012/04/how-to-remove-css-outlines-in-an-accessible-manner/ (function(d){ - var style_element = d.createElement('STYLE'); + var style_element = d.createElement('STYLE'), + dom_events = 'addEventListener' in d, + add_event_listener = function(type, callback){ + if(dom_events){ + d.addEventListener(type, callback); + }else{ + d.attachEvent('on' + type, callback); + } + } + ; + d.getElementsByTagName('HEAD')[0].appendChild(style_element); // Using mousedown instead of mouseover, so that previously focused elements don't lose focus ring on mouse move - d.onmousedown = function(){ + add_event_listener('mousedown', function(){ style_element.innerHTML = 'a{outline:none}'; - }; + }); - d.onkeydown = function(){ + add_event_listener('keydown', function(){ style_element.innerHTML = ''; - }; - + }); })(document);