Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使react元素出现在全屏ed子react组件的前面_Javascript_Css_Reactjs - Fatal编程技术网

Javascript 使react元素出现在全屏ed子react组件的前面

Javascript 使react元素出现在全屏ed子react组件的前面,javascript,css,reactjs,Javascript,Css,Reactjs,我有一个反应组件,我们叫他反应容器。 ReactContainer包含几个元素,其中一个是MyReactBox,另一个是ReactInnerContainer(下面是一个代码示例) 我的问题是,如果使用requestFullScreen API将ReactInnerContainer中的元素放入全屏,那么它会覆盖MyReactBox,尽管MyReactBox的CSS zIndex属性可能达到最大值 export default class ReactContainer extends React

我有一个反应组件,我们叫他反应容器。 ReactContainer包含几个元素,其中一个是MyReactBox,另一个是ReactInnerContainer(下面是一个代码示例)

我的问题是,如果使用requestFullScreen API将ReactInnerContainer中的元素放入全屏,那么它会覆盖MyReactBox,尽管MyReactBox的CSS zIndex属性可能达到最大值

export default class ReactContainer extends React.Component {
    render() {
        return (
            <div>
                <MyReactBox />
                <br />
                <ReactInnerContainer />
            </div>
        );
    }
}

export default class ReactInnerContainer extends React.Component {

    handleFullScreenClick() {
        this.refs.innerDiv.webkitRequestFullscreen();
    }

    render() {
        return (
            <div ref="innerDiv">
                /* Some stuff here */
            </div>
        );
    }
}
导出默认类ReactContainer扩展React.Component{
render(){
返回(

); } } 导出默认类ReactInnerContainer扩展React.Component{ handleFullScreenClick(){ this.refs.innerDiv.webkitRequestFullscreen(); } render(){ 返回( /*这里有些东西*/ ); } }
我希望尽管innerDiv是全屏的,但MyReactBox仍然会显示在屏幕的前面。若我在innerDiv中渲染MyReactBox,那个么它可以工作,但我需要在ReactContainer中渲染MyReactBox

有什么办法解决这个问题吗?
非常感谢:)

在父组件上调用
webkitRequestFullscreen

export default class ReactContainer extends React.Component {

    handleFullScreen (){
         this.screen.webkitRequestFullscreen();
    }
    render() {
        return (
            <div ref={(screen) => {this.screen = screen }}>
                <MyReactBox />
                <br />
                <ReactInnerContainer handleFullScreen={this.handleFullScreen.bind(this)}/>
            </div>
        );
    }
}

export default class ReactInnerContainer extends React.Component {

    handleFullScreenClick() {
          this.props.handleFullScreen();
    }

    render() {
        return (
            <div >
                /* Some stuff here */
            </div>
        );
    }
}
导出默认类ReactContainer扩展React.Component{
手摇筛(){
this.screen.webkitRequestFullscreen();
}
render(){
返回(
{this.screen=screen}}>

); } } 导出默认类ReactInnerContainer扩展React.Component{ handleFullScreenClick(){ 这个.props.handleFullScreen(); } render(){ 返回( /*这里有些东西*/ ); } }
在父组件上调用
webkitRequestFullscreen

export default class ReactContainer extends React.Component {

    handleFullScreen (){
         this.screen.webkitRequestFullscreen();
    }
    render() {
        return (
            <div ref={(screen) => {this.screen = screen }}>
                <MyReactBox />
                <br />
                <ReactInnerContainer handleFullScreen={this.handleFullScreen.bind(this)}/>
            </div>
        );
    }
}

export default class ReactInnerContainer extends React.Component {

    handleFullScreenClick() {
          this.props.handleFullScreen();
    }

    render() {
        return (
            <div >
                /* Some stuff here */
            </div>
        );
    }
}
导出默认类ReactContainer扩展React.Component{
手摇筛(){
this.screen.webkitRequestFullscreen();
}
render(){
返回(
{this.screen=screen}}>

); } } 导出默认类ReactInnerContainer扩展React.Component{ handleFullScreenClick(){ 这个.props.handleFullScreen(); } render(){ 返回( /*这里有些东西*/ ); } }
作为旁白-。你应该试着养成使用函数的习惯,就像Shubham Khatri在他的回答中所做的那样。你应该试着养成使用函数的习惯,就像Shubham Khatri在他的回答中所做的那样。但是,上面容器中的整个div都会全屏显示,对吗?我只需要reactInnerContainer中innerDiv中的一个特定元素就可以全屏显示,位于ReactContainer中除MyReactBox之外的所有元素的前面。在这种情况下,将MyReactBox和ReactContainer包装在一个div中,并同时调用它们的全屏显示。你是说reactInnerContainer对吗?例如,让我们假设在ReactContainer中有许多ReactInnerContainer元素。它们中的任何一个都可以全屏显示,我希望它们中的任何一个都可以全屏显示MyReactBox。根据您的想法,我如何实施它?似乎我必须将不同的MyReactBox与每个ReactInnerContainer放在一起,但我只需要一个MyReactBox我们必须将元素包装在一个div内全屏显示,我们不能让多个元素全屏显示。在这种情况下,您提到的场景值得深思。我现在还不知道。如果我得到一个,我会分享,如果你得到任何,让我知道,但是,在上面的容器中的整个div将全屏显示,对吗?我只需要reactInnerContainer中innerDiv中的一个特定元素就可以全屏显示,位于ReactContainer中除MyReactBox之外的所有元素的前面。在这种情况下,将MyReactBox和ReactContainer包装在一个div中,并同时调用它们的全屏显示。你是说reactInnerContainer对吗?例如,让我们假设在ReactContainer中有许多ReactInnerContainer元素。它们中的任何一个都可以全屏显示,我希望它们中的任何一个都可以全屏显示MyReactBox。根据您的想法,我如何实施它?似乎我必须将不同的MyReactBox与每个ReactInnerContainer放在一起,但我只需要一个MyReactBox我们必须将元素包装在一个div内全屏显示,我们不能让多个元素全屏显示。在这种情况下,您提到的场景值得深思。我现在还不知道。如果我得到一个,我会分享,如果你得到任何,也让我知道