Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法在写入任何文本后插入表情符号_Javascript_Jquery - Fatal编程技术网

Javascript 无法在写入任何文本后插入表情符号

Javascript 无法在写入任何文本后插入表情符号,javascript,jquery,Javascript,Jquery,Textarea无法预览图像,所以我将其背景和颜色设置为透明,并在其后面设置另一个div以预览Textarea的val 现在。如果我在文本区域中写入/删除某些内容,它的显示效果会很好。但在textarea上写入/删除并单击右图释窗口插入任何图释后,在我下面的示例中,它无法插入任何图释。请问我的错在哪里 请帮帮我 变量smileys={ ':': , ':-': , “:D”:, }; 函数escapeRegExpstr{ 返回str.replace/[\-\[\]\/\{\\\\\\\*\+\

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; }
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);