Javascript 无法在写入任何文本后插入表情符号
Textarea无法预览图像,所以我将其背景和颜色设置为透明,并在其后面设置另一个div以预览Textarea的val 现在。如果我在文本区域中写入/删除某些内容,它的显示效果会很好。但在textarea上写入/删除并单击右图释窗口插入任何图释后,在我下面的示例中,它无法插入任何图释。请问我的错在哪里 请帮帮我 变量smileys={ ':': , ':-': , “:D”:, }; 函数escapeRegExpstr{ 返回str.replace/[\-\[\]\/\{\\\\\\\*\+\?\.\\\\^\$\\\\\\\\\;]/g,\\$&; } 函数smilymsg{ msg=msg.replace/?:\r\n |\r |\n/g; 对于smileys中的var键{ msg=msg.replacenew regexpscaperegexpkey,g,smileys[key]; } 返回味精; } $document.readyfunction{ $.chat>textarea.bindkeyup,函数E{ $.chat>div.htmlsmilyMe$.chat>textarea.val; }; $'maintbox'。在'keyup'上,函数{ $this.css'height','auto'; $this.css'height',Math.maxthis.scrollHeight+'px'; }; $'showhide\u emobox'。单击函数{ $'emobox'.fadeToggle; $this.toggleClass'active'; }; $.embtn.clickfunctionevent{ var prevMsg=$.chat>textarea.val; var emotiText=$event.target.attralt; $.chat>textarea.htmlprevmg+emotiText; $.chat>div.htmlsmilyMe$.chat>textarea.val; }; $‘textarea’。弹性; }; 维护箱{ 位置:相对位置; 边框:2个实心ccc; 最小高度:50px; 宽度:450; 顶部:100px; } 聊天室{ 宽度:100%; } .预览{ 最大宽度:400px; 字体系列:泰晤士报新罗马,泰晤士报,衬线; 字体大小:14px; 颜色:000000; 位置:绝对位置; 顶部:0;左侧:0;z索引:997; } div.chat>text区域{ 字体系列:泰晤士报新罗马,泰晤士报,衬线; 字体大小:14px; 左边距:-2px; 页边顶部:-2px; 边缘底部:2px; 最小高度:50px; 宽度:510px; 调整大小:无; 浮动:左; 位置:绝对;颜色:透明; 顶部:0;左侧:0;z索引:998;背景:透明; } .em{ 位置:相对位置; 保证金:1px2px; 浮动:对; 高度:20px; 宽度:20px; 文本对齐:居中; } .em img{ 页边顶部:1px; 光标:指针; 颜色:白色; 显示:块; 过渡:所有的1容易; } 表情箱{ 背景:fff; 显示:无; 位置:绝对位置; 宽度:200px; 底部:25px; 左:-176像素; 边框:2个实心ccc; 空白:nowrap; } emoboximg{ 浮动:左; 位置:相对位置; 显示:内联块; 保证金:5px 5px; }Javascript 无法在写入任何文本后插入表情符号,javascript,jquery,Javascript,Jquery,Textarea无法预览图像,所以我将其背景和颜色设置为透明,并在其后面设置另一个div以预览Textarea的val 现在。如果我在文本区域中写入/删除某些内容,它的显示效果会很好。但在textarea上写入/删除并单击右图释窗口插入任何图释后,在我下面的示例中,它无法插入任何图释。请问我的错在哪里 请帮帮我 变量smileys={ ':': , ':-': , “:D”:, }; 函数escapeRegExpstr{ 返回str.replace/[\-\[\]\/\{\\\\\\\*\+\
html是设置文本区域内容的错误方法。改用val 原因是textarea从其开始标记和结束标记之间包含的文本中获取其初始值。其当前值始终存储在其value属性中 更换这条线
$(".chat > textarea").html(prevMsg + emotiText);
与
以下是完整代码:
变量smileys={
':': ,
':-': ,
“:D”:,
};
函数escapeRegExpstr{
返回str.replace/[\-\[\]\/\{\\\\\\\*\+\?\.\\\\^\$\\\\\\\\\;]/g,\\$&;
}
函数smilymsg{
msg=msg.replace/?:\r\n |\r |\n/g;
对于smileys中的var键{
msg=msg.replacenew regexpscaperegexpkey,g,smileys[key];
}
返回味精;
}
$document.readyfunction{
$.chat>textarea.bindkeyup,函数E{
$.chat>div.htmlsmilyMe$.chat>textarea.val;
};
$'maintbox'。在'keyup'上,函数{
$this.css'height','auto';
$this.css'height',Math.maxthis.scrollHeight+'px';
};
$'showhide\u emobox'。单击函数{
$'emobox'.fadeToggle;
$this.toggleClass'active';
};
$.embtn.clickfunctionevent{
var prevMsg=$.chat>textarea.val;
var emotiText=$event.target.attralt;
$.chat>textarea.valprevMsg+emotiText;
$.chat>div.htmlsmilyMe$.chat>textarea.val;
};
$‘textarea’。弹性;
};
维护箱{
位置:相对位置;
边框:2个实心ccc;
最小高度:50px;
宽度:450;
顶部:100px;
}
聊天室{
宽度:100%;
}
.预览{
最大宽度:400px;
字体系列:泰晤士报新罗马,泰晤士报,衬线;
字体大小:14px;
颜色:000000;
位置:绝对位置;
顶部:0;左侧:0;z索引:997;
}
div.chat>text区域{
字体系列:泰晤士报新罗马,泰晤士报,衬线;
字体大小:14px;
左边距:-2px;
页边顶部:-2px;
边缘底部:2px;
最小高度:50px;
宽度:510px;
调整大小:无;
浮动:左;
位置:绝对;颜色:透明;
顶部:0;左侧:0;z索引:998;背景:透明;
}
.em{
位置:相对位置;
保证金:1px2px;
浮动:对;
高度:20px;
宽度:20px;
文本对齐:居中;
}
.em img{
页边顶部:1px;
光标:指针;
颜色:白色;
显示:块;
过渡:所有的1容易;
}
表情箱{
背景:fff;
显示:无;
位置:绝对位置;
宽度:200px;
底部:25px;
左:-176像素;
边框:2个实心ccc;
空白:nowrap;
}
emoboximg{
浮动:左;
位置:相对位置;
显示:内联块;
保证金:5px 5px;
}
$(".chat > textarea").val(prevMsg + emotiText);