亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

React.js 中的點擊處理程序在事件發生之前執行。我怎樣才能阻止它?

React.js 中的點擊處理程序在事件發生之前執行。我怎樣才能阻止它?

元芳怎么了 2023-05-11 10:04:36
您也可以在此處執行腳本https://codepen.io/tznqeyiq/pen/vYKNwKbclass App extends React.Component {  constructor(props) {    super(props);    this.state = {      playStyle: '',      playerOne: '',      playerTwo: '',      turn: 'one',    };    this.moveToNextPage = this.moveToNextPage.bind(this);    this.onClickEventsForFirstPage = this.onClickEventsForFirstPage.bind(this);    this.onClickEventsForSecondPage = this.onClickEventsForSecondPage.bind(this);  }  //// It all starts from here !!!!!!!!!!!!!!!!!!!1  componentDidMount() {    document.getElementById('start').style.display = 'flex';    document.querySelector('#mainXOROdiv').style.display = 'none';    document.querySelector('#playAreaMain').style.display = 'none';    this.onClickEventsForFirstPage();    this.onClickEventsForSecondPage();  }  /// componentDidMount is above !!!!!!!!!!!!!!!!!!!!  /* event handlers for first page */  onClickEventsForFirstPage() {    var single = document.getElementById('single');    single.addEventListener('click', () => {      this.moveToNextPage(document.querySelector('#mainXOROdiv'));      this.setState({        playStyle: 'single'      });    });    var double = document.getElementById('double');    double.addEventListener('click', () => {      this.moveToNextPage(document.querySelector('#mainXOROdiv'));      this.setState({        playStyle: 'double'      });    });  }  moveToNextPage(page) {    document.getElementById('start').style.display = 'none';    document.querySelector('#mainXOROdiv').style.display = 'none';    document.querySelector('#playAreaMain').style.display = 'none';    page.style.display = 'flex';  }  /* event handler for first page above  event handler for second page below */  onClickEventsForSecondPage() {    var X = document.querySelector('#xInSpan');    var O = document.querySelector('#oInSpan');    var clickedBtn = '';
查看完整描述

1 回答

?
婷婷同學_

TA貢獻1844條經驗 獲得超8個贊

問題可能出在下面:


      if(this.state.turn = 'one'){

請嘗試添加第二個 = 來修復它


onClickEventsForBoxes=(e)=>{

        if(e){

          var a = event.target;

          console.log(this.state.playerOne,this.state.playerTwo);

          console.log(this.state.turn);

          if(this.state.turn == 'one'){

            this.setState({turn:'two'});

            a.innerText = this.state.playerOne;

          } else {

            this.setState({turn:'one'});

            a.innerText = this.state.playerTwo;

          }

        }

      }


查看完整回答
反對 回復 2023-05-11
  • 1 回答
  • 0 關注
  • 123 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號