首页 > 解决方案 > 我制作了一个虚拟键盘,当我从键盘(数字)检查显示值时,它是未定义的......我如何获得一个数字作为值?

问题描述

(HTML)
  <div class="keyboard-login">
           
                  <div class="display-login" ></div>
                   <div class="buttons">                      
                     <div class="key-btn-container">        
                         <button  class="key key-btn key_1">1</button>
                     </div>
  
                     <div class="key-btn-container">  
                         <button  class="key key-btn key_2">2</button>
                    </div>
                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
                  </div>

             </div>
(javascript)


keyboardLogin.addEventListener('click',(e)=>{
    

    console.log(loginDisplay.value);

    if (e.target.classList.contains('key_1')) {
        let valu = loginDisplay.innerHTML;
        loginDisplay.innerHTML=valu+'1';
    }
    if (e.target.classList.contains('key_2')) {
        let valu = loginDisplay.innerHTML;
        loginDisplay.innerHTML=valu+'2';
    }
    if (e.target.classList.contains('key_3')) {
        let valu = loginDisplay.innerHTML;
        loginDisplay.innerHTML=valu+'3';
    }
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
});

你好。我正在制作一个虚拟键盘,当我检查“console.log(login display.value);”时,它会显示“未定义”。我需要来自显示元素的数值。我能做些什么??谢谢你。

在此处输入图像描述

标签: javascriptkeyboard

解决方案


改变:

e.target.classList.contains('key_1')

经过:

e.target.className.includes('key_1')

如果 loginDisplay 是输入标签,则更改:

if (e.target.classList.contains('key_1')) {
        let valu = loginDisplay.innerHTML;
        loginDisplay.innerHTML=valu+'1';
    }

经过:

    if (e.target.className.includes('key_1')) {

        loginDisplay.value += '1';
    }

推荐阅读