以下代码的目的是当用户按住SHIFT键时,一些文本将指示他们正在按下它。它在Firefox中效果很好,但是IE对此并不认可。

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

意见表示赞赏。

最佳答案

尽管MSDN文档说了什么,但将onmousemove应用于window对象时,它不起作用。如果将它应用于document对象,它应该在所有浏览器中都可以工作:

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

演示:http://jsfiddle.net/AndyE/aUxSz/

09-25 16:40