繁体   English   中英

javascript防止keyup的默认设置

[英]javascript prevent default for keyup

我有以下代码:

$(document).on('keyup', 'p[contenteditable="true"]', function(e) {
    if(e.which == 13) {
        e.preventDefault();
        $(this).after('<p contenteditable = "true"></p>');
        $(this).next('p').focus();
    } else if((e.which == 8 || e.which == 46) && $(this).text() == "") {
        e.preventDefault();
        alert("Should remove element.");
        $(this).remove();
        $(this).previous('p').focus();
    };
});

我想在按下某个键时阻止默认操作。 preventDefault适用于keypress但不适用于keyup 有没有办法防止$(document).on('keyup')的默认值?

否。 keyup在默认操作后触发。

keydownkeypress是您可以阻止默认设置的地方。
如果这些没有停止,则默认发生并触发keyup

我们可以使用以下代码片段来阻止该操作。

e.stopPropagation();
      e.preventDefault();  
      e.returnValue = false;
      e.cancelBubble = true;
      return false;

keyup 在 keydown/keypress 之后触发。 我们可以防止任何这些事件中的默认操作。

谢谢,

湿婆

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM