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()
方法不起作用?
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');
}
});
});
同样,斜眼看,您可以使用stopPropagation
和preventDefault
达到相同的效果。