在输入中按Enter键时,在表单按钮上触发错误的单击事件

时间:2015-11-05 15:28:56

标签: javascript input click enter

在输入中按Enter键时,在表单按钮上触发错误的单击事件

为什么,在关注任何表格的输入时按Enter键会导致第一个按钮上的点击事件被触发。

据我所知,按Enter会导致表单提交,但为什么它也会在按钮上点击事件?

在FF和Chrome中以这种方式工作,没有测试其他浏览器。

以下是使用jQuery的示例代码(没有它我没试过):

<form>
  <input>
  <div>
    <button>Button 1</button>
    <button>Button 2</button>
  </div>
</form>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<script>
  $('body').on('keydown', 'input', function() {
    console.log('Keydown on input');
  });

  $('body').on('click', 'button', function() {
    console.log('Click on ' + $(this).text());
    return false; // to prevent page reloading caused by form submission
  });
</script>

0 个答案:

没有答案