javascript避免输入按键

时间:2014-08-20 14:35:43

标签: javascript html

单击按钮时,我正在尝试检测 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 () {});

3 个答案:

答案 0 :(得分:2)

您需要像以下一样停止传播:

$('#div').keydown(function(event){
  if (event.which == '13') {
    event.preventDefault();
    event.stopPropagation();
  }
});
  

stopPropagation阻止事件冒泡DOM树,防止任何父处理程序收到事件通知。

答案 1 :(得分:1)

正如其他人所说,除了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
};

答案 2 :(得分:0)

如果仍然需要任何人,请尝试此操作。快速解决方案。

$("form").keypress(function(e) {
  //Enter key
   if (e.which == 13) {
   return false;
 }
});