我的最小形式只允许“输入”击键,我希望它在点击“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>
答案 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;
}