0

当我在 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>
4

3 回答 3

3

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

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

于 2008-12-15T18:03:15.790 回答
1

好吧,我无法测试您的代码。但我正在研究一个 iframe,在 iframe 顶部也有可拖动的项目。

我遇到的问题是 starteffect 在设置它的不透明度时遇到了问题。我所做的是 starteffect:'' 在我的新 Draggable js 代码中,并在 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

希望能帮助到你..

于 2009-02-28T19:13:25.380 回答
0

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

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

<div style="filter:alpha(opacity=1); opacity: 0.01; -moz-opacity:0.01;">
     <iframe>   
     </iframe>
</div>
于 2008-12-15T18:14:39.917 回答