单击链接时模拟"Enter"键<a>



我的最小表单只允许'Enter'按键,我希望它在点击" envoy "链接时表现得一样。我已经寻找了Javascript/JQuery的解决方案,但没有一个工作。

你知道我如何"模拟"输入键点击链接吗?

这是我的网站与我的表单: http://raphaelmartin.olympe.in/pc/fruit.html

JS文件中有趣的部分:
// pressing enter will jump to next question
        document.addEventListener( 'keydown', function( ev ) {
            var keyCode = ev.keyCode || ev.which;
            // enter
            if( keyCode === 13 ) {
                ev.preventDefault();
                self._nextQuestion();
            }
        } );

这是我的HTML文件中的A链接:

<p id="envoyer"><a id="returnkey" href="#">Envoyer</a></p>

为什么不将函数也分配给按钮呢?

$( "#returnkey" ).on( "click", function(ev) {
  ev.preventDefault();
  self._nextQuestion();
});

一旦回车键被按下,你就可以触发元素上的click事件,因此你只需要一个事件处理程序

    //your return key link
    var ret = document.getElementById("returnkey")
    //handling key presses
    document.addEventListener( 'keydown', function(ev){ if (ev.keyCode || ev.which == 13) {
              //trigger a click event on the link if enter pressed
                ret.click(); } }, false );
    //handle the click event on the link
    ret.addEventListener( 'click', handler, false);

 function handler(ev) {
  ev.stopPropagation();
    ev.preventDefault();
   //call next question function
   //self._nextQuestion();
   alert(" you clicked me ");
}
// +++++ attach an event handler
function AttachEventHandler(X00,X01,X02,X03)
// X00 pointer of object
// X01 kind of event, String e.g. 'mouseover' (not 'onmouseover')
// X02 pointer of function of handler
//  param e for parsing an event
//      e.g.   keyDownTextField (e) 
//              {
//               var keyCode = e.keyCode;
//               //...
//              }
// X03 bubbling flag
//     true Capturing by handler
//     same value for DetachEventHandler()
{
 var X04=false;         
 X04=(X00!=null);
 if(X04){X04=(X01!=null);}
 if(X04){X04=(X02!=null);}
 if(X04){X04=(X01!='');}
 if(X04)
 {
  if(X00.attachEvent)
  {
   X04=X00.attachEvent('on'+X01,X02);
  }
  else
  {
   if(X00.addEventListener)
   {
    X00.addEventListener(X01,X02,X03);
    X04=true;
   }
   else{X04=false;}
  }
 }
 return X04;
}
// +++++ detach an event handler
function DetachEventHandler(X00,X01,X02,X03)
// X00 pointer of object
// X01 kind of event, String e.g. 'mouseover' (not 'onmouseover')
// X02 pointer of function of handler
//  param e for parsing an event
//      e.g.   keyDownTextField (e) 
//              {
//               var keyCode = e.keyCode;
//               //...
//              }
// X03 bubbling flag
//     true Capturing by handler
//     same value for AttachEventHandler()
{
 var X04=false;         
 X04=(X00!=null);
 if(X04){X04=(X01!=null);}
 if(X04){X04=(X02!=null);}
 if(X04){X04=(X01!='');}
 if(X04)
 {
  if(X00.detachEvent)
  {
   X04=X00.detachEvent('on'+X01,X02);
  }
  else
  {
   if(X00.removeEventListener)
   {
    X00.removeEventListener(X01,X02,X03);
    X04=true;
   }
   else{X04=false;}
  }
 }
 return X04;
}

最新更新