代码之家  ›  专栏  ›  技术社区  ›  Tony

iFrame在IE7中是否会导致脚本拖动问题(包括完整代码)?

  •  0
  • Tony  · 技术社区  · 17 年前

    当我在IE7中的iframe上拖动可拖动div内的链接时,我会得到非常奇怪的结果。请尝试下面的代码,如果您对如何修复此问题有任何建议,请告诉我。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
        <!--<script type="text/javascript" src="/js/prototype.js"></script>-->
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.3/prototype.js"></script>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.2/scriptaculous.js?load=effects,dragdrop,controls"></script>
        <!--<script type="text/javascript" src="/js/scriptaculous.js?load=effects,dragdrop,controls"></script>-->
    </head>
    
    
    <body>
        <div id="test" style="background-color: #aaaaaa; width: 200px; height: 50px;">
            <a href="blah" onclick="blah(); return false;">blah</a>
        </div>
        <iframe>    
        </iframe>
    </body>
    
    <script>
    function blah(){
        //blackbird.debug("blah");
    }
    
        var dummy = new Draggable("test", {scroll:window,scrollSensitivity: 20,scrollSpeed: 25, revert: true, onStart: onDragStart, onEnd: onDragEnd });
        var temp;
        function onDragStart(drgObj,mouseEvent){
                temp = mouseEvent.target.onclick;
                mouseEvent.target.onclick = function(e){
                    mouseEvent.target.onclick = temp;
                    return false;
                }
        }
    
        function onDragEnd(drgObj,mouseEvent){
        }
    </script>
    </html>
    
    3 回复  |  直到 16 年前
        1
  •  3
  •   scunliffe    17 年前

    我发现优雅地处理这个问题的唯一方法是在iframe上放置一个全尺寸的div,透明度为1%,然后将我的内容拖到它上面。

    PS,IE6和IE8中也存在拖动问题。

        2
  •  1
  •   Martijn Martijn    17 年前

    我无法测试你的代码。但我正在开发一个iframe,它上面也有可拖动的项目。

    我遇到的问题是,启动效果在设置不透明度时遇到了问题。 我在新的Draggable js代码中做了starteffect:“”,并用iframe做了一个干净的div。

    这是我的一段代码:

    <div id="main_container">
        <div>
            <iframe></iframe>
        </div>
        <div id="youredragelelement"><img /></div>
    </div>
    

    对于一个完整的页面iframe,我使用了这个网站,它对我来说非常完美: http://www.dev-explorer.com/articles/full-page-iframe

    希望它能有所帮助。。

        3
  •  0
  •   Tony    17 年前

    你能发布代码吗?我不确定我是否理解。

    我把iframe包在一个div中,它没有任何区别。

    <div style="filter:alpha(opacity=1); opacity: 0.01; -moz-opacity:0.01;">
         <iframe>   
         </iframe>
    </div>
    
    推荐文章