here is the test example: under firefox (3.5) : under ie: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Untitled Document</title> <mce:style type="text/css"><!-- div { } --></mce:style><style type="text/css" mce_bogus="1"> div { } </style> </head> <body> <h1>Test focus, press any key to switch focus target</h1> <div id="d1" style="display: block;" mce_style="display: block;" tabindex="-1"></div> <div id="d2" tabindex="-1"></div> <div id="d3" tabindex="-1"></div> <mce:script type="text/javascript"><!-- function $(id){ return document.getElementById(id); } var idx = 1; document.onkeydown = function() { console.log('focus next', idx); $('d' + idx).focus(); console.log('innerHTML:', $('d' + idx).innerHTML); // output: innerHTML: under ie ++idx; if(idx > 3) idx = 1; } for(var i=1; i != 4; ++i) { $('d' + i).onfocus = function() { console.log("do focus"); this.innerHTML = this.id; } $('d' + i).onblur = function() { this.innerHTML = ''; } } // --></mce:script> </body> </html>