CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  其他

如何在鼠标单击位置显示一个层,而不影响其它超级链接或按钮?

楼主mrgong(SEA)2001-02-15 10:42:00 在 Web 开发 / 其他 提问

在页面任何地方单击鼠标,就在鼠标位置显示一个层,但是在其它地方,比如:按钮、超级链接、TextArea之类,鼠标单击不受影响,不显示那个层,而是处理自己默认。  
  望给位大虾指点! 问题点数:30、回复次数:10Top

1 楼3Xman(Unix疯子)回复于 2001-02-15 13:55:00 得分 12

不妨试一试这个:(逻辑顺序需根据网页的逻辑顺序自己搞定!)  
  <html>  
  <head><style   type="text/css">  
  body{font:   9pt   "宋体";   margintop:   0px   ;   color:   #003366;   background:   #ffffff}  
  a.{   font:   9pt   "宋体";   cursor:   hand;   font-size:   9pt   ;   color:   #ffffff;   text-decoration:   none   }  
  a:active{   font:   9pt   "宋体";   cursor:   hand;   color:   #800080   }  
  a.cc:hover{   font:   9pt   "宋体";   cursor:   hand;   color:   #800080}  
  .box{   font:   9pt   "宋体";   position:   absolute;     background:   #99CCFF   }  
  </style>  
   
  <title>3Xman</title>  
  </head>  
  <body><table   id="itemopen"   class="box"   style="display:none">  
  <tr>  
  <td   ><p   align="center"><font   size="2"   face="BankGothic   Lt   BT">3Xman</font></td>              
                   
  </tr>  
  <tr>  
  <td><a   href="../../../index.html"   class="cc">本站首页</a></td>  
  </tr>  
  <tr>  
  <td><a   href="../../navigation/newscript.htm"   class="cc">最新更新</a></td>  
  </tr>  
  <tr>  
  <td><a   href="../../navigation/applet/appletindex.htm"   class="cc">梦想软件</a></td>  
  </tr>  
  <tr>  
  <td><a   href="../../../jsschool/index.htm"   class="cc">桌面壁纸</a></td>  
  </tr>  
  <tr>  
  <td><a   href="popmenu.htm"   class="cc">更多连接</a></td>  
  </tr>  
  <tr>  
  <td><a   href="popmenu.htm"   class="cc">更多连接</a></td>  
  </tr>  
  <tr>  
  <td><a   href="popmenu.htm"   class="cc">更多连接</a></td>  
  </tr>  
  </table>  
  <script   language="JavaScript">  
  document.onclick   =   popUp    
  function   popUp()   {  
  newX   =   window.event.x   +   document.body.scrollLeft  
  newY   =   window.event.y   +   document.body.scrollTop  
  menu   =   document.all.itemopen  
  if   (   menu.style.display   ==   ""){  
  menu.style.display   =   "none"   }  
  else   {  
  menu.style.display   =   ""}  
  menu.style.pixelLeft   =   newX   -   50  
  menu.style.pixelTop   =   newY   -   50  
  }  
  </script>  
  </body>  
  </html>  
  祝你好运,Bye!       (@_@)/~~  
  Top

2 楼yankee(歪诗闲人)回复于 2001-02-15 14:34:00 得分 0

左键还是右键:  
  左键就定义window或form的onclick  
  右键就用body的oncontextmenu  
  Top

3 楼mrgong(SEA)回复于 2001-02-15 14:39:00 得分 0

3Xman(Unix疯子):谢谢你的帮助。我的问题还是没解决(你给我的这种方法我已经用过)。  
  我的问题正是这种方法的问题是:  
          如果你在网页中加入一个Button或TextArea,你会发现,在Button上单击,将会在Button上出现菜单,在TextArea中单击,也会出现菜单。况且,如果加入一个超级链接,将不会显示出来!  
          或许我没讲清楚:我的网页比较长,在顶行和底行各有一个按钮,单击顶行的的按钮后,就在顶行按钮处显示那个层;单击底行的按钮后,就在底行按钮处显示那个层。  
          我遇到的问题就是:不能够在单击按钮后,在按钮处显示那个层,而只能在定义层时使用的初始位置显示那个层(left,top)。  
          各位大虾,你们能帮我吗?Top

4 楼mrgong(SEA)回复于 2001-02-15 14:42:00 得分 0

yankee(歪诗闲人):谢谢,看了我上面贴子后,当然是左键了(按钮嘛)。请……Top

5 楼mrgong(SEA)回复于 2001-02-16 08:58:00 得分 0

大家都来看看吧!Top

6 楼unique(伪程序员)回复于 2001-02-16 12:35:00 得分 0

mrgong(龚先生),你好!  
  你的问题我看了,也许能帮你,可是不太清楚  
  1.是左键单击后,那个层没有在单击处出来?  
  2.还是想保持那些默认的点击行为。只点到没事的地方弹?Top

7 楼unique(伪程序员)回复于 2001-02-16 13:23:00 得分 18

mrgong(龚先生),你好!你要的功能可以用这个页面,  
  (现在是捕捉右键,稍微改改更猛)  
  <!doctype   html   public   "-//W3C//DTD   HTML   4.0   Transitional//EN">  
  <html>  
  <head>  
  <title>   Popup   </title>  
  <meta   name="Generator"   content="EditPlus">  
  <meta   name="Author"   content="">  
  <meta   name="Keywords"   content="">  
  <meta   name="Description"   content="">  
  <script   language="JavaScript">  
  <!--  
  //check   left   mouse   button  
  function   domouse()  
  {  
  if   (event.button==2)(doalert());  
  }  
   
  //Pop   Menu   function  
  var   MenuSkin=0;  
  var   displayURL=0;  
  function   popMenu()  
  {  
    var   rightEdge=document.body.clientWidth-event.clientX;  
    var   bottomEdge=document.body.clientHeight-event.clientY;  
    if(rightEdge<IE5Menu.offsetWidth)   IE5Menu.style.left=document.body.scrollLeft+event.clientX-IE5Menu.offsetWidth;  
    else   IE5Menu.style.left=document.body.scrollLeft+event.clientX;  
    if(bottomEdge<IE5Menu.offsetHeight)   IE5Menu.style.top=document.body.scrollTop+event.clientY-IE5Menu.offsetHeight;  
    else   IE5Menu.style.top=document.body.scrollTop+event.clientY;  
    IE5Menu.style.visibility="visible";  
    return   false;  
  }  
  function   hideMenu()  
  {  
    IE5Menu.style.visibility="hidden";  
  }  
  function   highLight()  
  {  
    if(event.srcElement.className=="MenuItems")  
    {  
      event.srcElement.style.backgroundColor="highlight";  
      event.srcElement.style.color="white";  
      if(displayURL==1)   window.status=event.srcElement.url;  
    }  
  }  
  function   lowLight()  
  {  
    if(event.srcElement.className=="MenuItems")  
    {  
      event.srcElement.style.backgroundColor="";  
      event.srcElement.style.color="black";  
      window.status='';  
    }  
  }  
  function   linkTo()  
  {  
    if(event.srcElement.className=="MenuItems")  
    {  
      if(event.srcElement.getAttribute("target")!=null)   window.open(event.srcElement.url,event.srcElement.getAttribute("target"));  
      else   window.location=event.srcElement.url;  
    }  
  }  
  function   initMenu()  
  {  
    if(document.all&&window.print)  
    {  
      IE5Menu.className="MenuSkin0";  
      document.oncontextmenu=popMenu;  
      document.body.onclick=hideMenu;  
    }  
  }  
  //End   function  
  //-->  
  </script>  
   
  <style>  
  .MenuItems{padding-left:15px;   padding-right:10px}  
  .MenuSkin0{background-color:menu;border-top:buttonhighlight   2px   outset;border-bottom:buttonhighlight   2px   outset;border-left:buttonhighlight   2px   outset;border-right:buttonhighlight   2px   outset;line-height:15pt;font-size:9pt;cursor:default;position:absolute;visibility:hidden;z-index:1;width:150px}  
  </style>  
   
  </head>  
   
  <body   bgcolor="#FFFFFF"     onLoad="initMenu()">  
  <div   class="MenuSkin0"   id="IE5Menu"   onclick="linkTo()"   onmouseout="lowLight()"   onmouseover="highLight()">  
    <div   align="center">【精采家园网】</div><hr>  
    <div   class=MenuItems   url="JavaScript:history.go(-1)">后退(Backward)</div>  
    <div   class=MenuItems   url="JavaScript:history.go(+1)">前进(Forward)</div>  
    <div   class=MenuItems   url="JavaScript:location.reload()">刷新(Reload)</div><hr>  
    <div   class=MenuItems   url="/index.htm">【影音视界】</div>  
    <div   class=MenuItems   url="/index.htm">【相关文章】</div>  
    <div   class=MenuItems   url="/index.htm">【精采软件】</div>  
    <div   class=MenuItems   url="Others/about.htm">【关于本站】</div><hr>  
    <div   class=MenuItems   url="/gbook"   target="_blank">留言簿(Message)</div>  
    <div   class=MenuItems   url="mailto:aa@aa.com.cn">给我来信(Mail   me!)</div><hr>  
    <div   class=MenuItems   url="JavaScript:window.external.AddFavorite('http://www.aaa.com','【我的主页】')">将本站添加到收藏夹</div>  
  </div>  
  </body>  
  </html>Top

8 楼mrgong(SEA)回复于 2001-02-16 14:42:00 得分 0

3Xman(Unix疯子)   &   unique(伪程序员):  
      问题已经解决了。  
      谢谢你们!因为有了这种无私的帮助,网络才更可爱1Top

9 楼unique(伪程序员)回复于 2001-02-16 14:49:00 得分 0

不要客气嘛,呵呵Top

10 楼3Xman(Unix疯子)回复于 2001-02-16 20:21:00 得分 0

很高兴能够帮到你的忙,Bye!   (@_@)/~~Top

相关问题

  • 如何实现鼠标放在超级链接上时,出现超级链接的说明
  • 我怎么知道鼠标是点的那一个超级链接?
  • 怎么用程序模拟鼠标点击WebBrowser中超级链接??
  • 如何实现超级链接打开网页,超级链接成为了文字,也就说再单击此链接,不能打开网页了呢?!
  • 用最简单的方法实现无下划线的、鼠标移过会变色的超级链接
  • 如何做超级链接?
  • 超级链接控件??
  • 超级链接的事件
  • 超级链接的 问题
  • 如何在 onClick 事件中触发 超级链接 的Click事件;如<span></span> 甚至按钮的onClick事件中

关键词

得分解答快速导航

  • 帖主:mrgong
  • 3Xman
  • unique

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo