if (navigator.userAgent.toLowerCase().indexOf('msie') >= 0 || navigator.userAgent.indexOf('Firefox') >= 0) {
         event.returnValue = false;
        } else {
         e.preventDefault();
        };我想阻止浏览器默认动作,但是在firefox中总是失效的,看了网上也很多解决方案,但是好像都不行,有木有大侠知道我该怎么修改呢?FirefoxJavaScript浏览器解决方案

解决方案 »

  1.   

    preventDefault是firefox和chrome的好不。。~if (document.all) {
             event.returnValue = false;
            } else {
             e.preventDefault();
            };
      

  2.   

    FF下event对像自带 event.preventDefault()
    IE下得自已添加
    var preventDefault = function() { this.returnValue = false; };
    function fixEvent(event) {
           if (event && event.target) return event;
           event = event || window.event;
           event.preventDefault = preventDefault;
           return event;
    }//例
    function funcName(e){
           var event = fixEvent(e);
           event.preventDefault()
    }
      

  3.   

    我修改成这个样子的,而且我还使用这种[
    code=javascript]  if (event.preventDefault) {
                   // Firefox、Chrome有效
                    event.preventDefault();
                } else {
                    //IE等效preventDefault
                    event.returnValue = false;
                }[/code]
    还是没有效果,在firefox中,在IE和chrome中是有效的。
    我现在想实现的效果就是,div的拖拽,只是可视区域内移动,往下拖,或者往上拖得时候,禁止滚动条移动,这个功能,就是firefox中不启用的,大侠,这个情况该怎么改呢?
      

  4.   

    我添加之后,好像不行哇还就是firefox不行
      

  5.   

    不要用document.all判断chrome哦..chrome下也有这个的.
      

  6.   

    兼容浏览器使用jquery的
      event.preventDefault();//取消默认行为
            event.stopPropagation();//取消冒泡
      

  7.   

    不需要判断event对象么?
      

  8.   

    preventDefault: function(event) {  
            if (event.preventDefault) {  
                event.preventDefault();  
            } else {  
                event.returnValue = false;  
            }  
        }
      

  9.   

    你在火狐下 自己看看navigator.userAgent这个玩意是什么, 不要自作聪明的 .indexOf('Firefox')
      

  10.   


    d.onmousemove = function (a) {//鼠标移动
       if (!a) a = window.event; //移动时创建一个事件
       obj.style.left = a.clientX + document.body.scrollLeft - x;
       bj.style.top = a.clientY + document.body.scrollTop - y;
       if (event.preventDefault) {
       //Firefox、Chrome有效
       event.preventDefault();
    } else {
       //IE等效preventDefault
      event.returnValue = false;
    }
    }
    这段代码就是用在div拖拽后面的,赋给div当前坐标之后,防止浏览器默认动作,就是页面过长的时候,防止div拖拽到过下,或是往上拖,防止滚动条移动的效果的。
      

  11.   


    d.onmousemove = function (a) {//鼠标移动
       if (!a) a = window.event; //移动时创建一个事件
       obj.style.left = a.clientX + document.body.scrollLeft - x;
       bj.style.top = a.clientY + document.body.scrollTop - y;
       if (event.preventDefault) {
       //Firefox、Chrome有效
       event.preventDefault();
      } else {
          //IE等效preventDefault
         event.returnValue = false;
      }
      

  12.   

    这段代码就是用在div拖拽后面的,赋给div当前坐标之后,防止浏览器默认动作,就是页面过长的时候,防止div拖拽到过下,或是往上拖,防止滚动条移动的效果的。d.onmousemove = function (a) {//鼠标移动
       if (!a) a = window.event; //移动时创建一个事件
       obj.style.left = a.clientX + document.body.scrollLeft - x;
       bj.style.top = a.clientY + document.body.scrollTop - y;
       if (event.preventDefault) {
       //Firefox、Chrome有效
       event.preventDefault();
    } else {
       //IE等效preventDefault
      event.returnValue = false;
    }
    }
    preventDefault: function(event) {  
            if (event.preventDefault) {  
                event.preventDefault();  
            } else {  
                event.returnValue = false;  
            }  
        }