我试图检测单击按钮后的Enter键按下事件。
我是javascript的新手,不知道要怎么做...

HTML:

<div id="div"> Only execute javascript on click, not enter key press </div>


JAVASCRIPT:

$("#div").click(function () {

   /* IF ENTER KEY PRESSED, RETURN FALSE */

   $("#div").keypress(
    function(event){
     if (event.which == '13') {
        event.preventDefault();
        alert('clicked');
      }
   });

  /* Div has been clicked, continue code... */

});


这不行...
也许有更好的方法:

$("#div").MOUSE_CLICK_EVENT(function () {});

最佳答案

正如其他人指出的那样,除了stopPropagation外,还需要preventDefault,并且您应该监听keydown事件而不是keypress

做到这一点的纯JavaScript方法是:

document.getElementById('div').onkeydown = function (evt) {
    if (evt.which === 13) {
        evt.preventDefault();
        evt.stopPropagation();
        return false;
    }
};

document.getElementById('div').onclick = function (evt) {
    // do whatever you want here
};

关于javascript - javascript避免输入按键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25407515/

10-12 01:16
查看更多