如何屏蔽CTRL和Alt之间的那个键。即是window开始那个键。。呵呵。高手指教

解决方案 »

  1.   


     通过 keycode ,键盘上每个键都有对应的 keycode ,你判断下如果用户按下的 keycode 是 alt或者 ctrl 的话,则返回 false。 获得键盘上任意键的 keycodes:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <!-- saved from url=(0046)http://www.jscode.cn/jscode/code_410511532.htm -->
    <HTML><HEAD><TITLE>网页特效|Linkweb.cn/Js|---键盘事件全面控制</TITLE>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    <STYLE type=text/css>TD {
    TEXT-ALIGN: center
    }
    </STYLE><SCRIPT language=JavaScript>
    function init() {
    document.onkeydown = showKeyDown
    document.onkeyup = showKeyUp
    document.onkeypress = showKeyPress
    }function showKeyDown(evt) {
    evt = (evt) ? evt : window.event
    document.getElementById("pressKeyCode").innerHTML = 0
    document.getElementById("upKeyCode").innerHTML = 0
    document.getElementById("pressCharCode").innerHTML = 0
    document.getElementById("upCharCode").innerHTML = 0
    restoreModifiers("")
    restoreModifiers("Down")
    restoreModifiers("Up")
    document.getElementById("downKeyCode").innerHTML = evt.keyCode
    if (evt.charCode) {
    document.getElementById("downCharCode").innerHTML = evt.charCode
    }
    showModifiers("Down", evt)
    }
    function showKeyUp(evt) {
    evt = (evt) ? evt : window.event
    document.getElementById("upKeyCode").innerHTML = evt.keyCode
    if (evt.charCode) {
    document.getElementById("upCharCode").innerHTML = evt.charCode
    }
    showModifiers("Up", evt)
    return false
    }
    function showKeyPress(evt) {
    evt = (evt) ? evt : window.event
    document.getElementById("pressKeyCode").innerHTML = evt.keyCode
    if (evt.charCode) {
    document.getElementById("pressCharCode").innerHTML = evt.charCode
    }
    showModifiers("", evt)
    return false
    }
    function showModifiers(ext, evt) {
    restoreModifiers(ext)
    if (evt.shiftKey) {
    document.getElementById("shift" + ext).style.backgroundColor = "#ff0000"
    }
    if (evt.ctrlKey) {
    document.getElementById("ctrl" + ext).style.backgroundColor = "#00ff00"
    }
    if (evt.altKey) {
    document.getElementById("alt" + ext).style.backgroundColor = "#0000ff"
    }
    }
    function restoreModifiers(ext) {
    document.getElementById("shift" + ext).style.backgroundColor = "#ffffff"
    document.getElementById("ctrl" + ext).style.backgroundColor = "#ffffff"
    document.getElementById("alt" + ext).style.backgroundColor = "#ffffff"
    }
    </SCRIPT><META content="MSHTML 6.00.2900.3059" name=GENERATOR></HEAD>
    <BODY onload=init()>
    <H1>Keyboard Event Handler Lab</H1>
    <HR><FORM>
    <TABLE cellPadding=2 border=2>
      <TBODY>
      <TR>
        <TH></TH>
        <TH>onKeyDown</TH>
        <TH>onKeyPress</TH>
        <TH>onKeyUp</TH></TR>
      <TR>
        <TH>Key Codes</TH>
        <TD id=downKeyCode>0</TD>
        <TD id=pressKeyCode>0</TD>
        <TD id=upKeyCode>0</TD></TR>
      <TR>
        <TH>Char Codes (IE5/Mac; NN6)</TH>
        <TD id=downCharCode>0</TD>
        <TD id=pressCharCode>0</TD>
        <TD id=upCharCode>0</TD></TR>
      <TR>
        <TH rowSpan=3>Modifier Keys</TH>
        <TD><SPAN id=shiftDown>Shift</SPAN></TD>
        <TD><SPAN id=shift>Shift</SPAN></TD>
        <TD><SPAN id=shiftUp>Shift</SPAN></TD></TR>
      <TR>
        <TD><SPAN id=ctrlDown>Ctrl</SPAN></TD>
        <TD><SPAN id=ctrl>Ctrl</SPAN></TD>
        <TD><SPAN id=ctrlUp>Ctrl</SPAN></TD></TR>
      <TR>
        <TD><SPAN id=altDown>Alt</SPAN></TD>
        <TD><SPAN id=alt>Alt</SPAN></TD>
        <TD><SPAN id=altUp>Alt</SPAN></TD></TR></TBODY></TABLE></FORM></BODY></HTML>