• 点击事件在当前点击位置弹出一个弹窗


    <script type="text/javascript">
                //获取鼠标位置GetPostion 
                function GetPostion(e) { 
                var x = getX(e); 
                var y = getY(e); 
                return [x,y]
                } 
                function getX(e) { 
                e = e || window.event; 
                return e.pageX || e.clientX + document.body.scrollLeft - document.body.clientLeft 
                } 
                function getY(e) { 
                e = e|| window.event; 
                return e.pageY || e.clientY + document.body.scrollTop - document.body.clientTop 
                } 
                
                $("table tr").click(function(){
                    $(".cars-info-control").remove();
                    var mousePos=GetPostion();
                    var selfY=mousePos[1]-40;
                    var selfX=mousePos[0]-78;
                    $('<div class="btn-group cars-info-control"><a class="btn">调度</a> <a class="btn">当前位置</a> <a class="btn">视频</a> </div>')
                    .css("position","absolute").css("top",selfY).css("left",selfX).appendTo("body")
                })
            </script>

     上述方法,在FF下是无用 报错(e is undifind),原来FF不支持直接的event,解决方法是不直接利用event属性,用下面的代码即可

     function getEvent() //同时兼容ie和ff的写法
            {  
                if(document.all)   return window.event;    
                func=getEvent.caller;        
                while(func!=null){  
                    var arg0=func.arguments[0];
                    if(arg0)
                    {
                      if((arg0.constructor==Event || arg0.constructor ==MouseEvent) || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation))
                      {  
                      return arg0;
                      }
                    }
                    func=func.caller;
                }
                return null;
            }
     //获取鼠标位置GetPostion 
             function GetPostion() {
                  var e=getEvent();
                  var x = getX(e);
                  var y = getY(e);
                  return [x, y]
               }
    
             function getX(e) {
                   
                 return e.pageX || e.clientX + document.body.scrollLeft - document.body.clientLeft
               }
    
             function getY(e) {
                 
                return e.pageY || e.clientY + document.body.scrollTop - document.body.clientTop
              } 
  • 相关阅读:
    排序算法 之 冒泡排序 插入排序 希尔排序 堆排序
    DataStructure之线性表以及其实现
    使用可重入函数进行更安全的信号处理
    内存经济学
    电脑通用技能
    循环套餐的逻辑
    占用了多少内存
    索引的用法
    电脑的眼缘
    字符串积木
  • 原文地址:https://www.cnblogs.com/wenb/p/7263289.html
Copyright © 2020-2023  润新知