如何在内容可编辑的div中使用preventDefault?

问题描述 投票:1回答:2

This is an example on CodePen.

反正这是代码:

HTML:

<div contenteditable="true" id="mydiv"></div>

jQuery:

$(function () {
  $("#mydiv").keydown(function (evt) {
    if (evt.which == 13) {
      evt.preventDefault();
      alert('event fired');  
    }
  });
});

为什么evt.preventDefault()方法不起作用?

javascript jquery html contenteditable preventdefault
2个回答
-2
投票
preventDefault调用仅使默认事件处理程序无法运行。如果要在具有evt.preventDefault()的点之后跳过任何代码,请在其后放置return false

$(function () { $("#mydiv").keydown(function (evt) { if (evt.which == 13) { return false; // <-- now event doesn't bubble up and alert doesn't run alert('event fired'); } }); });

同样,斜眼看,您可以使用stopPropagationpreventDefault达到相同的效果。
© www.soinside.com 2019 - 2024. All rights reserved.