模拟&#34;输入&#34; <a> link clicked</a>时的键

时间:2014-06-08 17:23:21

标签: javascript jquery forms keystroke

我的最小形式只允许“输入”击键,我希望它在点击“Envoyer”链接时的行为方式相同。我一直在寻找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>

3 个答案:

答案 0 :(得分:0)

为什么不将功能分配给按钮呢?

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

答案 1 :(得分:0)

一旦按下enter键,您就可以在元素上触发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 ");

}

答案 2 :(得分:-2)

// +++++ 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;
}