当前位置: 首页 > 面试题库 >

在输入中单击输入时显示覆盖

程修雅
2023-03-14
问题内容

单击某个“输入”字段时,我试图显示一个覆盖图。我正在这样做。我怎样才能做到这一点?

这是我的代码

import React, { Component } from 'react';
import cam from '../../Resources/img/cam.png';
import SinglePost from '../../Components/Post/single_post';

class Middle extends Component {

    constructor(props) {
        super(props);
        this.state = {
            posts: []
        }
    }

    render() {

        function popup_ques(e) {
            e.preventDefault();
            alert("now the overlay should appear");
        }

        return (
            <div className="middle_div">

                <input className='post_data_input' placeholder="Ask your question here" ref="postTxt" onClick={popup_ques}/>

            </div>
        );
    }
}

export default Middle;

我应该采取什么方法?


问题答案:

我创建了一个样本react组件。我希望这会以某种方式帮助您实现您想要的。

class Test extends React.Component {



    constructor(props) {

        super(props);

        this.state = {

            style : {

                width : 350

            }

        };

        this.openNav = this.openNav.bind(this);

        this.closeNav = this.closeNav.bind(this);

    }



    componentDidMount() {

        document.addEventListener("click", this.closeNav);

    }



    componentWillUnmount() {

        document.removeEventListener("click", this.closeNav);

    }



    openNav() {

        const style = { width : 350 };

        this.setState({ style });

        document.body.style.backgroundColor = "rgba(0,0,0,0.4)";

        document.addEventListener("click", this.closeNav);

    }



    closeNav() {

        document.removeEventListener("click", this.closeNav);

        const style = { width : 0 };

        this.setState({ style });

        document.body.style.backgroundColor = "#F3F3F3";

    }



    render() {

        return (

          <div>

          <h2>Fullscreen Overlay Nav Example</h2>

<p>Click on the element below to open the fullscreen overlay navigation menu.</p>

<p>In this example, the navigation menu will slide in, from left to right:</p>

<span style={{fontSize:30,cursor:"pointer"}} onClick={this.openNav}>&#9776; open</span>

            <div

                ref       = "snav"

                className = "overlay"

                style     = {this.state.style}

            >

                <div className = "sidenav-container">

                    <div className = "text-center">

                      <h2>Form</h2>

                      <p>This is a sample input form</p>

                    </div>

                    <a

                        href      = "javascript:void(0)"

                        className = "closebtn"

                        onClick   = {this.closeNav}

                    >

                        ×

                    </a>

                  <div className = "list-group">

                      {/*your form component goes here */}

                      {this.props.children}

                  </div>

                </div>

            </div>

          </div>

        );

    }

}



ReactDOM.render(

  <Test/>,

  document.getElementById('test')

);


.overlay {

    height: 100%;

    width: 0;

    position: fixed;

    z-index: 1;

    top: 0;

    left: 0;

    background-color: rgb(0,0,0);

    background-color: rgba(0,0,0, 0.9);

    overflow-x: hidden;

    transition: 0.5s;

}



.overlay-content {

    position: relative;

    top: 25%;

    width: 100%;

    text-align: center;

    margin-top: 30px;

}



.overlay a {

    padding: 8px;

    text-decoration: none;

    font-size: 36px;

    color: #818181;

    display: block;

    transition: 0.3s;

}



.overlay a:hover, .overlay a:focus {

    color: #f1f1f1;

}



.overlay .closebtn {

    position: absolute;

    top: 20px;

    right: 45px;

    font-size: 60px;

}



@media screen and (max-height: 450px) {

  .overlay a {font-size: 20px}

  .overlay .closebtn {

    font-size: 40px;

    top: 15px;

    right: 35px;

  }

}



.overlay h2, .overlay p {

  color:white;

  }


<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>





<div id="test"></div>


 类似资料:
  • 我正在尝试弹出输入框值,但它显示的是一个空白值。为什么?这是jsfiddle。 null null

  • 一个文本域最终输入的类型类似adc=222&&oiu=987。运算符和运算符前面的是根据输入的内容提示的。该怎么回显啊。

  • 我正在尝试制作一个不需要任何第三方代码工具提示。我想在jQuery&CSS中实现。它需要支持新行,并且只在悬停在输入元素上时显示。 我不想在HTML页面中添加额外的代码,或者在可能的情况下在输入字段中添加一个标题。 我已经创建了一个对象,其中包括要显示的文本,活动对象还将包含其他值。 当我悬停在输入上时,我想要一个div来显示来自对象的文本。到目前为止,我已经使悬停工作,但我不知道如何做div和显

  • 对于 被选中的国家 ,只显示 输入线 或者 输出线   只显示输入线   只显示输出线 controller.showInOnly(true); controller.showInOnly(false); controller.showOutOnly(true); controller.showOutOnly(false);

  • 问题内容: 我正在使用html 5输入元素。问题是它显示时间,但我希望它显示一天。我怎样才能达到24小时?这是我的输入字段 问题答案: HTML5时间输入 这是与日期/时间相关的类型中最简单的一种,允许用户选择 24小时制的时间 ,没有 AM或PM 。返回的值是hours:minutes,看起来像14:30。 此功能仍在草稿中。每个浏览器都以不同的方式显示它。 -Opera(Presto Engi

  • 使用JOptionPane。ShowInputDialog,我需要检查用户是否输入int,否则,JOptionPane应该返回错误消息,并提示用户输入正确的数据类型。 同时,如果用户点击取消节目则应返回主菜单。 对我如何做到这一点有什么建议吗?