覆盖效果在Chrome中处理iframe但在IE11中不起作用

时间:2017-03-30 06:49:10

标签: javascript html css angularjs

我有一个带有axisLabelFormatter文件的文档查看器:

.less

我的HTML是

div.document-previewer-container {
//height: 400px;
//width: 300px;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
//padding: 5px 2px;
> div.document-preview {
    height: 88%;
    //width: 100%;
    position: relative;

    .document-container, .text-container, video, iframe, pre {
        height: 100%;
        width: 100%;
        position: relative;
    }

    .document-container > img {
        max-height: 100%;
        max-width: 100%;
    }

    .text-container pre {
        margin: 0;
        padding: 0;
    }

    .doc-overlay {
        width: 95%;
        height: 95%;
        position: absolute;
        cursor: pointer;
        top: 0;

        p {
            padding: 2px;
        }
    }
}
}

我的点击事件正在处理标记,但是在使用css类' doc-overlay'点击div时没有。

如何处理

我正在使用IE11的Foxit Reader插件

  

UPDATE1

     

我发现了this我认为正在发生的问题。 iframe重叠<div class="document-previewer-container"> <div class="document-preview"> <h3 ng-click="vm.openPDF()">yu</h3> <----- THIS CLICK IS WORKING <div class="document-container"> <!-- PDF show in iframe --> </div> <div class="doc-overlay" ng-click="vm.openPDF()"> <---- THIS CLICK ISN'T becuse if is hidden by iframe <!-- any content is shown on the top of PDF file in chrome only, not in IE --> </div> </div> </div> </div> ,因此点击不起作用。   对此有任何建议

1 个答案:

答案 0 :(得分:0)

实际上这是一个CSS问题。您使用SCSS格式,这就是DOM无法找到“doc-overlay”类的原因。

你可以使用这个CSS,它会正常工作。

div.document-previewer-container {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
div.document-previewer-container> div.document-preview {
    height: 88%;
    position: relative;
}
    div.document-previewer-container> div.document-preview .document-container, .text-container, video, iframe, pre {
        height: 100%;
        width: 100%;
        position: relative;
    }

    div.document-previewer-container> div.document-preview .document-container > img {
        max-height: 100%;
        max-width: 100%;
    }

   div.document-previewer-container> div.document-preview .text-container pre {
        margin: 0;
        padding: 0;
    }

   div.document-previewer-container> div.document-preview .doc-overlay {
        width: 95%;
        height: 95%;
        position: absolute;
        cursor: pointer;
        top: 0;
}
div.document-previewer-container> div.document-preview  .doc-overlay p {
       padding: 2px;
}