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

时间:2008-12-15 17:21:48

标签: iframe internet-explorer-7 scriptaculous draggable

当我在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 个答案:

答案 0 :(得分:3)

我发现处理此问题的唯一方法是在iframe上放置一个完整大小的div,透明度= 1%,然后将我的内容拖到其上方。

PS拖拽问题也出现在IE6和IE8中。

答案 1 :(得分:1)

我无法测试你的代码。但是我正在使用iframe上的可拖动项目来制作iframe。

我遇到的问题是starteffect在设置不透明度时遇到了问题。 我做的事情是starteffect:''在我的新Draggable js代码中,做了一个干净的div,在那里有iframe。

这是我的一段代码:

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

对于整页iframe我来到这个网站,它对我来说非常适合: http://www.dev-explorer.com/articles/full-page-iframe

希望有所帮助......

答案 2 :(得分:0)

你可以发布代码吗?我不确定我理解。

我将iframe包装在div中并没有任何区别。

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