只要把弹出菜单的函数由该对象的onmouseup触发,而不是document body触发;并判断event.button就可以了。

解决方案 »

  1.   

    <table>
    <tr><td oncontextmenu="fun1();return false;">只有点这个单元格才出现右键菜单</td></tr>
    <tr><td>没有事件出发</td></tr>
    </table>
      

  2.   

    对你特定的地方加上oncontextmenu事件
      

  3.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>右键事件</title>
    <script type="text/javascript">
    document.oncontextmenu = function () {
    //IE && FF
    var e = window.event || arguments[0], o = e.srcElement || e.target;
    if (!(o.tagName == "IMG")) return true;
    alert(o.getAttribute("alt") + "的右键触发的说");
    return false;
    };
    </script>
    </head>
    <body>
    <img width="120" height="100" src="http://www.zhb.org.cn/Banner/2006102464453861.jpg" alt="图片1" />
    <img width="120" height="100" src="http://www.zhb.org.cn/Banner/2006102464512093.jpg" alt="图片2" />
    </body>
    </html>