本文實例為大家分享了vue.js評論發布信息可插入QQ表情,供大家參考,具體內容如下
demo例子:

HTML文本內容:
<template>
<div id="publish">
<!-- 發布內容輸入框,利用Html5的新屬性contenteditable,實現可編輯文本 ,會自動將插入的IMG標簽解析-->
<div class="publish_container">
<p contenteditable="true" id="input_conta"></p>
</div>
<!-- 表情和發送-->
<div class="face_container">
<!-- 表情Icon,點擊觸發事件,動態生成表情并顯示 -->
<span @click=make_face() class="make_face"><i class="icon-emoji" ></i></span>
<span class="make_img" @click="add_img()"><i class="icon-Pictuer"></i></span>
<span class="send" @click=send()>發送</span>
<span class="send"><input type="checkbox" name="top" id="top" value="top">本條置頂</span>
<!-- 表情容器 ,包裹生成的表情,綁定點擊表情事件-->
<div id="face" @click=choice_face($event)></div>
</div>
</div>
</template>
js文本內容:
<script>
export default {
data () {
return {
id:this.$route.query.id,
top:"",
}
},
methods:{
make_face:function(){
$("div#face").show(); //顯示表情容器
if($("div#face>img").length==0){ //動態生成表情,如果現在沒有表情則生成
for(var i=1;i<=75;i++){ //根據表情文件數量決定循環次數,這里為75個表情
$("div#face").append('<img src="/static/arclist/'+i+'.gif">'); //為表情容器里添加IMG標簽,并賦予src值,路徑為表情文件所在路徑
}
}
},// 選擇表情并插入到輸入框
choice_face:function(e){
if(e.target.nodeName=="IMG"){
var choice=e.target;
var cEle = choice.cloneNode(true); //深度復制,復制節點下面所有的子節點 ,直接將整個表情的IMG標簽復制,并添加到發布框的<p></p>里面
$("p#input_conta").append(cEle);
}
},
// 發送信息給后臺
send:function(){
// 發送留言
var text=$("#input_conta").html(); //獲得發布框的文本內容,表情會以整個img標簽文本顯示
console.log(text);
$("#input_conta").html(""); //清除發布框的文本內容
$("div#face").hide(); //隱藏表情選擇// 上傳圖片并發送給后臺
var out_this=this;
$("#addTextForm").ajaxSubmit({
url: url+"/index/text/add",
type: "post",
data: {'i_text':text,
},
success: function (data) {
console.info(data);
}
});
}
},
}
</script>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。