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()
方法不起作用?
答案 0 :(得分:-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');
}
});
});
此外,正如斜视所述,您可以使用stopPropagation
和preventDefault
来达到同样的效果。