如果按下删除键或退格键,我想删除一些令人满意的段落。我为此编写了以下脚本:
$(document).on('keyup', 'p[contenteditable="true"]', function(e) {
if(e.which == 13) {
e.preventDefault();
$(this).after('<p contenteditable = "true">New Paragraph</p>');
$(this).next('p').focus();
} else if((e.which == 8 || e.which == 46) && $(this).text() == "") {
e.preventDefault();
$(this).remove();
$(this).previous('p').focus();
};
});
我想在删除之后关注上一段,但我不相信我可以这样做,因为this
已不复存在。我还尝试在focus
之前设置remove
,但它似乎会更改this
的值。
答案 0 :(得分:3)
尝试这样的事情:
$(document).on('keyup', 'p[contenteditable="true"]', function(e) {
if(e.which == 13) {
e.preventDefault();
$(this).after('<p contenteditable = "true">New Paragraph</p>');
$(this).next('p').focus();
} else if((e.which == 8 || e.which == 46) && $(this).text() == "") {
e.preventDefault();
var prev = $(this).prev('p');
$(this).remove();
prev.focus();
};
});
另外值得注意的是.previous()
不是jQuery方法,我相信您正在寻找的方法是.prev()