在HTML5 contenteditable字段中防止'return'键的默认行为

时间:2011-05-16 14:22:02

标签: jquery html5 local-storage contenteditable

我正在使用localStorage& amp; Contenteditable,当我点击Enter(在chrome中)时,浏览器会添加一个新行。我想阻止此默认行为并提交任务。 jQuery模糊消除了焦点,但仅在添加新行之后仍然如此。 我试过用,

return false
e.preventDefault();
e.stopPropagagtion();

但是他们都没有工作,无论如何都要阻止这个?

$('.taskContent').keyup(function(e) {
        if(e.keyCode == 13) {
            $('.task').removeClass('editing');
            $('.task').children('a').fadeTo('medium', 0.5, function() {
                localStorage.setItem('tasksData', tasks.innerHTML);
            });
            $('.taskContent').blur();
        }
    });

2 个答案:

答案 0 :(得分:7)

之前我遇到过这个问题,我认为问题是keydown上的事件没有为return / enter / tab和其他“特殊功能”键启动。

尝试将其更改为

$('.taskContent').keydown(function(e){});

答案 1 :(得分:2)

尝试使用 keyDown 事件,因为在keyUp插入字符时。