<div class="menuitems" onclick="return imgManify_onclick()" align="center"> 此处如果用onclick就会执行放大操作,如不用onclick,何时调用地图放大函数啊?能否说的详细点啊

解决方案 »

  1.   

    为什么要return?
    imgManify_onclick()方法直接执行放大?看下代码
      

  2.   

    imgManify_onclick()代码 谢谢 
      

  3.   

    此方法通过传COOKIE值,调用组件里的方法执行放大操作
      

  4.   

    好吧 既然你用叙述的那我也叙述
    方法外定义一个变量为false 点击改为true 放大前检查变量
      

  5.   


    function imgManify_onclick() {//地图放大
    document.cookie="stacookie=1";
    }  
    组件里的放大方法只知道一个方法名,直接调用就可以,具体代码没有
      

  6.   

    先判断下点的是什么键,右键就显示菜单,如果点过放大菜单了点左键时执行放大eg
    <style type="text/css">
    .menuitems
    {
    position:absolute;
    width:100px;
    height:50px;
    border:solid 1px black;
    background-color:White;
    display:none;
    z-index:100;
    }
    </style>
    <script>
    var IsIE=!!document.all;
    var divClick=false;//这里设置一个标志位,是否点过菜单的“地图放大”
    function buttonValue(e){//ie的事件button值在ff和ie下不同,所以要区分下,统一为ie下的,ie下右键为2,左键为1
     if(IsIE)return e.button;
     else{
       //ff下左键为0右键为2
       if(e.button==0)return 1;
       else if(e.button==2)return 2;
     }  
    }
    function MMD(e){
      e=e||event;
      if(buttonValue(e)==2)//点右键显示菜单
      {
         var m=document.getElementById('divMenu');
         m.style.left=e.clientX+"px";
         m.style.top=e.clientY+"px";
         m.style.display="block";
      }
      else{//左键,执行放大处理
        if(!divClick)return ;//如果未先点击过放大菜单则退出不放大
        divClick=false;//设置为未点过
        var img=document.getElementById('img');
        img.style.width=parseInt(img.offsetWidth)*(1+0.2);
        img.style.height=parseInt(img.offsetHeight)*(1+0.2);
      }
    }
    function setMark(o){
      divClick=true;
      o.style.display="none";
    }
    </script>
    <!---点击“地图放大”时设置标志位--->
    <div class="menuitems" onclick="setMark(this)" align="center" id="divMenu" oncontextmenu="return false;">地图放大 </div>
    <img src="http://country.lvyou168.cn/flashwariii/3.jpg" width="300px" height="300px" id="img" onmousedown="MMD(event)" oncontextmenu="return false;"/>