javascript做的一个发表表情,可惜输入框是textarea,我想把它改成div输入框。求帮忙~ 20

主要是我不知道在div输入框里面怎么获取和计算光标的位置(selectionStart),以下是js代码片段:vartc=document.getElementById(... 主要是我不知道在div输入框里面怎么获取和计算光标的位置(selectionStart),以下是js代码片段:
var tc = document.getElementById(textareaid);
if (options.popName) {
tc = window.frames[options.popName].document.getElementById(textareaid);
}
var pos = 0;
if (typeof document.selection != "undefined") {//IE
options.txtAreaObj.focus();
setCursorPosition(tc, cpos); //设置焦点
document.selection.createRange().text = faceText;
//计算光标位置
pos = getPositionForTextArea(tc);
} else {//火狐
//计算光标位置
pos = tc.selectionStart + faceText.length;
options.txtAreaObj.val(options.txtAreaObj.val().substr(0, tc.selectionStart) + faceText + options.txtAreaObj.val().substring(tc.selectionStart, tclen));
//options.txtAreaObj.html(options.txtAreaObj.html().substr(0, tc.selectionStart) + faceText + options.txtAreaObj.html().substr(tc.selectionStart, tclen));
}
---------------------------------------------------------------------------------------------------------------
textarea下的表情发表我已经做好了,我就想把它换成div输入框。愿意帮忙的Q我: 514158268.
无以为报,帮我改好的话我追加100分,非常感谢!!!
展开
 我来答
jy07sg
2013-09-16 · TA获得超过1044个赞
知道小有建树答主
回答量:930
采纳率:0%
帮助的人:734万
展开全部
options.txtAreaObj.val(options.txtAreaObj.val().substr(0, tc.selectionStart) + faceText + options.txtAreaObj.val().substring(tc.selectionStart, tclen));
//options.txtAreaObj.html(options.txtAreaObj.html().substr(0, tc.selectionStart) + faceText + options.txtAreaObj.html().substr(tc.selectionStart, tclen));
如果没错的话,应该是把下面这个消除注释,上面那个注释掉,然后直接换div应该就可以了。
追问
呃,其实这个注释是我自己写上去的,经过测试是不行的,我也没把它删掉,只是作参考。
我搞了很久都没获取到光标的位置...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lvyingtang
2013-09-27 · TA获得超过645个赞
知道小有建树答主
回答量:675
采纳率:100%
帮助的人:707万
展开全部
一般都用iframe来做的吧,因为iframe有自己的window和document对象,selection不会混乱,至少你不用判断selection是不是在div上,额
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
铛铛369662
2013-09-12
知道答主
回答量:14
采纳率:0%
帮助的人:6.3万
展开全部
div的属性contenteditable 可以让元素可输入
追问
这个我知道,我问的是怎么获取(设置)div里面光标的位置。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式