文本輸入框的change事件與確認按鈕的click事件重複調用問題

在日常編碼中是否會遇到在編寫一個輸入組件時,我們需要用到文本框的change事件,又需要一個確認按鈕的click事件,這兩個事件調用的都是一個函數,這時輸入完成後,點擊確認事件就會調用兩次函數,出現重複調用問題。

有的人會說,去掉change事件,或者去電確認按鈕,但我認爲兩個都保留對於用戶體驗是很好的。

我的解決思路是給一個計數變量,之後使用setTimeout解除計數變量,這樣可以避免同時觸發change和click事件了

下面是解決方法:

var num = 0;


Input.addEventListener('change', inputChange);

Button.addEventListener('click', inputChange);


function inputChange(){
    if(num>0) return;
    num++;
    setTimeout('num=0',500);
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章