contenteditable元素允许用户直接在元素内编辑文本。但是,跨浏览器的换行符处理方式可能会不一致。
contenteditable的输出元素因浏览器而异:Chrome 放置了一个
<div>。在换行符内,Firefox 会插入
<br />>,而 Internet Explorer 则会添加
<p>。
function placeCaretAtEnd(el) { el.focus(); if (typeof window.getSelection != "undefined" && typeof document.createRange != "undefined") { var range = document.createRange(); range.selectNodeContents(el); range.collapse(false); var sel = window.getSelection(); sel.removeAllRanges(); sel.addRange(range); } else if (typeof document.body.createTextRange != "undefined") { var textRange = document.body.createTextRange(); textRange.moveToElementText(el); textRange.collapse(false); textRange.select(); } }
$(document).ready(function() { $('#insert_caret').click(function() { placeCaretAtEnd($('#content')); } });
以上是如何在跨浏览器中一致地将插入符号放在'contenteditable”预元素中的文本末尾?的详细内容。更多信息请关注PHP中文网其他相关文章!