为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript |输入键第一次应该按一个按钮,第二次应该按标签或网址

Javascript |输入键第一次应该按一个按钮,第二次应该按标签或网址

斯蒂芬大帝 2022-09-02 11:09:15
第一次我们按键盘输入键应该执行按钮(id=“botonCorregir”)。但是第二次我们按回车键应该执行url()。我使用 cont,第一次执行 javascript 代码的一部分,当 de cont 值为 1 时,执行 javascript 代码的第二部分。对于某些错误,它不起作用。谢谢!网页:<input id="respuestaUsuario"></input><button id="botonCorregir">Reply</button><a id="enlaceSiguiente" href="nextQuestion.html">Next question</a>JAVASCRIPT:<script>var cont=0;if(cont==0){//Should enter the first press of enter      var input = document.getElementById("respuestaUsuario");     console.log('input: ', input)    input.addEventListener("keyup", function(event) {      if (event.keyCode == 13) {       event.preventDefault();       document.getElementById("botonCorregir").click();      }    });    cont++;}else{//Should enter the second press of enter    if (event.keyCode == 13) {       event.preventDefault();       document.getElementById("enlaceSiguiente").click();      }}</script>
查看完整描述

2 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

代码中有一些错误。


您正在根据 cont 的值分配事件,因此始终具有该功能。一旦 cont 的值发生更改,Javascript 就不会重新解释代码。我的意思是,Javascript只检查了一次条件:


if(cont==0){}

这是一个有效的解决方案:


var cont=0;

var input = document.getElementById('respuestaUsuario');


input.addEventListener('keyup', function (event) {

  event.preventDefault();

  if (event.keyCode == 13) {

    if(!cont){

      alert('uno');

      document.getElementById("botonCorregir").click();

      cont++;

    }else{

      document.getElementById("enlaceSiguiente").click();

    }

  }

});


查看完整回答
反对 回复 2022-09-02
?
蛊毒传说

TA贡献1895条经验 获得超3个赞

我想你走在正确的轨道上,但问题是你的Javascript只执行一次。因此,否则永远不会触发。我重构了您的代码以使用事件侦听器中的检查:


        var cont = 0;


        var input = document.getElementById("respuestaUsuario");

        input.addEventListener("keyup", function (event) {

          if (event.keyCode == 13) {

            event.preventDefault();

            if (cont == 0) {

              cont++;


              document.getElementById("botonCorregir").click();

            } else {

              document.getElementById("enlaceSiguiente").click();

            }

          }

        });

我还创建了一个密码笔供您签出。


查看完整回答
反对 回复 2022-09-02
  • 2 回答
  • 0 关注
  • 70 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信