获取文本区域中字符中的插入符号列位置
确定
对于 Firefox 和 Safari 等浏览器,利用 textarea.selectionStart 提供了一个简单的解决方案。但是,在 Internet Explorer 中,需要另一种方法。这是一个可以满足这两种情况的强大解决方案:
function getCaret(node) { if (node.selectionStart) { return node.selectionStart; } else if (!document.selection) { return 0; } var c = "<pre class="brush:php;toolbar:false">function getCaret(el) { if (el.selectionStart) { return el.selectionStart; } else if (document.selection) { el.focus(); var r = document.selection.createRange(); if (r == null) { return 0; } var re = el.createTextRange(), rc = re.duplicate(); re.moveToBookmark(r.getBookmark()); rc.setEndPoint('EndToStart', re); return rc.text.length; } return 0; }
此外,jQuery FieldSelection 插件提供了一种便捷的方法来检索插入符号位置并执行高级文本选择操作。
更新的实现:
这是 getCaret 函数的更新版本,它提供了改进的准确性:
通过这些解决方案,您可以有效地确定
以上是如何跨浏览器可靠地获取文本区域中的插入符列位置?的详细内容。更多信息请关注PHP中文网其他相关文章!