在使用TAB到它后按下ENTER按钮

时间:2014-12-04 13:55:30

标签: javascript html tabs enter keycode

我的代码中有一个按钮。除了使用鼠标并单击它之外,我还想在用TAB选择它之后触发(按下ENTER)。

<div id="CloseButton" tabindex="0" onkeypress="return submitOnEnter(blah,event)">Close</div>

如果有帮助:

function submitOnEnter(blah,e) {
    var keycode;
    if (window.event) keycode = window.event.keyCode;
    else if (e) keycode = e.which;
    else return true;

    if (keycode == 13) {
        //at this point I need to fire a button w/o using its id
        return false;
    } else {
        return true;
    }
}

如果有人知道该怎么做?

是否可以制作“等等”。请参考<div>,以便我可以这样做:      $(blah).click();

2 个答案:

答案 0 :(得分:0)

这可行:

jQuery(':focus').click()

答案 1 :(得分:0)

这是我的解决方案:

HTML的一部分,关闭按钮是一个div元素,是模态窗口的一部分:

...
<div class="closeButton">
      <span id="closeSpan" tabindex="0">Close</span>
</div>
...

JS,在ModalWindow类中:

$(modWin).find("#closeButton").one("click",            
                   this.close).keypress(this.doNothing);

this.close  = function () {
    $("#modalWindow").css("display","none").fadeOut(200).html("");
    $("#modalWindow #closeButton").hide();
    $(window.self.document.body).find("#modalWindow").remove();
}

this.doNothing = function (e) {
    var keycode;
    if (window.event) keycode = window.event.keyCode;
    else if (e) keycode = e.which;
    else return true;

    if (keycode == 13) {
        innerthis.close();
        return false;
    } else {
        return true;
    }
}

PS:innerthis在ModalWindow类中定义为:

var innerthis = this;