当前我写的阻止默认浏览器事件的代码是:preventDefault: function(event) {
         //var event = window.event || e, o = event.srcElement || event.target, d = -event.wheelDelta || event.detail;
            if (event.preventDefault) {
                //Firefox、Chrome有效
                event.preventDefault();
                //event.stopPropagation && (event.preventDefault(), event.stopPropagation()) || (event.cancelBubble = true, event.returnValue = false); //取消默认滚动
            } else {
                //IE等效preventDefault
                event.returnValue = false;
            }
        },
但是在包含有iframe的页面会失效,是不是在包含有iframe的页面需要获取顶级父窗口的event对象才能使
阻止浏览器默认事件起效呢? 求问大侠!浏览器JavaScriptChrome函数对象

解决方案 »

  1.   


    是啊,就是不知道在iframe页面中 怎么处理浏览器默认事件。
      

  2.   

    iframe 中是独立的 document 
    当然你也需要独立的指定
      

  3.   

    我现在就是要做的功能就是,虽然页面包含iframe,但是我想阻止浏览器的滚动条移动,这个该怎么写呢?
      

  4.   


    我现在就是要做的功能就是,虽然页面包含iframe,但是我想阻止浏览器的滚动条移动,这个该怎么写呢?今天上午我在测试了IE,Chrome,Firefox.
    发现preventDefault: function(event) {
             //var event = window.event || e, o = event.srcElement || event.target, d = -event.wheelDelta || event.detail;
                if (event.preventDefault) {
                    //Firefox、Chrome有效
                    event.preventDefault();
                    //event.stopPropagation && (event.preventDefault(), event.stopPropagation()) || (event.cancelBubble = true, event.returnValue = false); //取消默认滚动
                } else {
                    //IE等效preventDefault
                    window.event.returnValue = false;
                    return false;
                }
            },
    event.preventDefault(); 在IE,Chrome是不起效的,而且启用的是window.event.returnValue = false;
    return false; 而且在Firefox中,两者都是不起效的。所以现在我写的方式是,IE&Chrome中,都是用window.event.returnValue = false;,不管是否在包含Iframe页面中,都能阻止默认浏览器动作。