可以获得当前文本框里光标位置的方法...大家讨论讨论!
很多论坛都有插入表情代码的功能,但是都不能在当前位置插入,
刚刚看到国外的一个论坛可以实现这功能,并搜索了相关的资料,
<script>
function insertsmilie(smilieface) {
if (document.PostTopic.Message.createTextRange && document.PostTopic.Message.caretPos) {
var caretPos = document.PostTopic.Message.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? smilieface + ' ' : smilieface;
document.PostTopic.Message.focus();
} else {
document.PostTopic.Message.value+=smilieface;
document.PostTopic.Message.focus();
}
}
// -->
</script>
比较令人疑惑的是 caretPos 属性,搜索了一下 MSDN ,只得到一篇文章,其中是代码是这样的...
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JScript">
function saveCaret(elem)
{
if ( elem.isTextEdit )
elem.caretPos = document.selection.createRange();
}
function getCaretPos(elem)
{
if ( elem.isTextEdit && elem.caretPos )
{
var bookmark = "~";
var orig = elem.value;
var caretPos = elem.caretPos;
caretPos.text = bookmark;
var i = elem.value.search( bookmark );
window.status = "Caret is at character " + i;
elem.value = orig;
}
}
</SCRIPT>
</HEAD>
<BODY>
<INPUT NAME="txtInput" ONSELECT="saveCaret(this)"
ONCLICK="saveCaret(this)" ONKEYUP="saveCaret(this)" VALUE="Where are you?">
<INPUT TYPE="button" VALUE="caret pos" ONCLICK="getCaretPos(txtInput)">
</BODY>
</HTML>
大家想想看这个是什么原理呢?
刚刚看到国外的一个论坛可以实现这功能,并搜索了相关的资料,
<script>
function insertsmilie(smilieface) {
if (document.PostTopic.Message.createTextRange && document.PostTopic.Message.caretPos) {
var caretPos = document.PostTopic.Message.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? smilieface + ' ' : smilieface;
document.PostTopic.Message.focus();
} else {
document.PostTopic.Message.value+=smilieface;
document.PostTopic.Message.focus();
}
}
// -->
</script>
比较令人疑惑的是 caretPos 属性,搜索了一下 MSDN ,只得到一篇文章,其中是代码是这样的...
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JScript">
function saveCaret(elem)
{
if ( elem.isTextEdit )
elem.caretPos = document.selection.createRange();
}
function getCaretPos(elem)
{
if ( elem.isTextEdit && elem.caretPos )
{
var bookmark = "~";
var orig = elem.value;
var caretPos = elem.caretPos;
caretPos.text = bookmark;
var i = elem.value.search( bookmark );
window.status = "Caret is at character " + i;
elem.value = orig;
}
}
</SCRIPT>
</HEAD>
<BODY>
<INPUT NAME="txtInput" ONSELECT="saveCaret(this)"
ONCLICK="saveCaret(this)" ONKEYUP="saveCaret(this)" VALUE="Where are you?">
<INPUT TYPE="button" VALUE="caret pos" ONCLICK="getCaretPos(txtInput)">
</BODY>
</HTML>
大家想想看这个是什么原理呢?
...全文
相关推荐
前端面试题汇总经典300例.rar
前端面试题汇总经典300例包含html,css,javascript等核心知识点,十分考验基本功。
前端75道经典面试题.rar
内含互联网大厂前端必问75道经典面试题,掌握完全可以应对各大厂基础一面!亲测有效,希望能帮助到寻找工作的你!
前端面试题汇总.rar
前端面试题:HTML、CSS、JS基础、Jquery、HTML5 CSS3、移动web开发、Ajax、JS高级、流行框架、移动app开发、NodeJs、前端概括性问题。
C++程序设计经典300例.rar
C++程序设计经典300例,里面包含C++程序设计的大部分知识点,是从事C++开发快速入门的好资料。
阿里、字节、滴滴前端经典面试题.rar
内含近两百道经典前端面试题,涵盖面很广,都是具有代表性的基础知识,熟练掌握以后各大厂基础一面应该没什么问题,二面也能应付大半!亲测有效!


