Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

window.onmousemove in IE and Firefox

The purpose of the following code is that when the user is holding the SHIFT key down, some text will indicate that they are pressing it. It works great in Firefox, but IE does not acknowledge it.

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;
        }
    }

Advice is appreciated.

like image 208
Honus Wagner Avatar asked Nov 23 '10 15:11

Honus Wagner


1 Answers

Despite what the MSDN docs say, onmousemove doesn't work when applied to the window object. It should work in all browsers if you apply it to the document object instead:

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;
    }
}

Demo: http://jsfiddle.net/AndyE/aUxSz/

like image 96
Andy E Avatar answered Sep 28 '22 13:09

Andy E