我有一个满足于
元素的内容,如下所示
dummy content here !!!!!
当我单击键盘上的退格键直到它删除所有文本时,如果我再次单击退格键,它也会删除
元素! 在我的情况下,我想在那里至少保留一个
元素
$(document).on('keydown', '[contenteditable=true]', function(e){ var contenteditable = $(this) if(e.keyCode == 8){ // if backspace var p = contenteditable.find('p'); var pLength = p.length; if(pLength == 1){ // if only one exists inside contenteditable var pHtml = p.html(); // if only
is still inside
then prevent // the backspace to delete the
if( pHtml == "
" || pHtml == ""){ e.preventDefault() } } } });
但它不起作用! 如果用户使用Ctrl + A或鼠标一次选择整个文本并按下Backspace键,我还想阻止删除
。
我也不确定我的方法是否是最佳方法,但我对所有建议持开放态度! 谢谢
更新:
我找到了另一种方法,但仍未完成:
$(document).on('keyup', '[contenteditable=true]', function(e){ var contenteditable = $(this); if( e.keyCode == 8 ) { if(contenteditable.find('p').length == 0){ contenteditable.html('
'); } } });
在Backspace keydown上我检查在contenteditable中是否存在P元素,如果没有找到元素我在内部添加一个,但仍需要在br之前设置插入符号
以上就是jQuery教程分享在可满足的范围内保留至少一个P元素相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/524566.html