在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 不知道是JS還是vue的問題

不知道是JS還是vue的問題

我給下面的em元素綁定了一個click事件 第一次點擊能觸發(fā) 觸發(fā)之后 通過innerHTML或者innertText改了內(nèi)容 之后再點擊這個元素就不能同志觸發(fā)事件了 這是為什么呢

 獲取驗證碼

getMessageCode(evt) {
let time = setInterval(() => {

      if (this.countDown <= 0) {
            clearInterval(time)
            this.countDown = 60
           //this.isSend = false
            evt.target.innerText = '重新發(fā)送驗證碼'
      }else {
              this.countDown --
              evt.target.innerText = this.countDown + '秒倒計時'
      }

}, 1000)
}

回答
編輯回答
柒喵

innerText 相當于重新渲染了,之前的都清除了,你需要重新綁定相關(guān)事件。或者將事件綁定到父級元素,在冒泡到你想要觸發(fā)的子元素,你可以去看看jqueryon 是如何給未來元素綁定事件的。

2018年6月18日 11:33
編輯回答
葬憶

再點擊這個元素的時候this.countDown已經(jīng)小于0了,走 if (this.countDown <= 0) {時把點擊的時候設(shè)置的interval給清了,當然沒效果了

2018年3月29日 13:47
編輯回答
旖襯

如果你用了vue,那就不應(yīng)該,這樣操作dom。正確的方式應(yīng)該是 data{btnText:'發(fā)送驗證碼'}
<input type="button" v-model="this.btnText"/>。再倒計時候去改變 btnText的值。

2017年5月23日 03:06
編輯回答
避風港

通過innerHTML或者innertText這里,把原來的em標簽弄沒了,或者是新的標簽了,沒click事件了

2017年5月29日 20:31