2010-11-23 10 views
6

El propósito del siguiente código es que cuando el usuario mantiene presionada la tecla MAYÚS, algún texto indicará que lo están presionando. Funciona muy bien en Firefox, pero IE no lo reconoce.window.onmousemove en IE y Firefox

window.onmousemove = function(e) { 
     e = e || window.event; 
     var copyLabel = document.getElementById("<%= lblCopyEnabled.ClientID %>"); 
     if (e.shiftKey) { 
      copyLabel.style.display = "inline"; 
      ob_copyOnNodeDrop = true; 
     } 
     else { 
      copyLabel.style.display = "none"; 
      ob_copyOnNodeDrop = false; 
     } 
    } 

Se agradece la recomendación.

+0

¿Qué versión de IE se dirige? – stan229

+0

Estoy probando esto en IE7 –

Respuesta

15

A pesar de lo que dicen los documentos de MSDN, onmousemove no funciona cuando se aplica al objeto window. Se debe trabajar en todos los navegadores si se aplica al objeto document lugar:

document.onmousemove = function(e) { 
    e = e || window.event; 
    var copyLabel = document.getElementById("<%= lblCopyEnabled.ClientID %>"); 
    if (e.shiftKey) { 
     copyLabel.style.display = "inline"; 
     ob_copyOnNodeDrop = true; 
    } 
    else { 
     copyLabel.style.display = "none"; 
     ob_copyOnNodeDrop = false; 
    } 
} 

Demostración: http://jsfiddle.net/AndyE/aUxSz/

Cuestiones relacionadas