android仿微信图片编辑器,electron/vue可编辑框contenteditable|仿微信截图

基于Electron+vue实现div可编辑contenteditable插入表情|electron-vue截图功能

为了避免使用 vue 手动建立起 electron 应用程序。electron-vue 充分利用 vue-cli 作为脚手架工具,加上拥有 vue-loader 的 webpack、electron-packager 或是 electron-builder,以及一些最常用的插件,如vue-router、vuex 等等。

仿微信聊天编辑器插入表情

如何实现微信客户端,在编辑器光标处插入表情?通常有以下两种实现思路:普通方法(input/textarea实现)

通过input或textarea实现,在文本框插入[笑脸]、(:12 表情符标签,展示的时候解析标签就行

11191a0109b07faa4ba25a06e6d5d4a8.png

如上图:通过如下代码就能实现效果

[笑脸]

[奋斗]

[:17]

(function ($) {

$.fn.extend({

insertEmojAtCaret: function (myValue) {

var $t = $(this)[0];

if (document.selection) {

this.focus();

sel = document.selection.createRange();

sel.text = myValue;

this.focus();

} else if ($t.selectionStart || $t.selectionStart == '0') {

var startPos = $t.selectionStart;

var endPos = $t.selectionEnd;

var scrollTop = $t.scrollTop;

$t.value = $t.value.substring(0, startPos) + myValue + $t.value.substring(endPos, $t.value.length);

this.focus();

$t.selectionStart = startPos + myValue.length;

$t.selectionEnd = startPos + myValue.length;

$t.scrollTop = scrollTop;

} else {

this.value += myValue;

this.focus();

}

}

});

})(jQuery);

$("button").on("click", function() {

$("#content").insertEmojAtCaret($(this).attr("data-emoj"));

});

复制代码

可是上面方法并不是我想要在编辑框插入表情图片效果。div可编辑属性(设置contenteditable="true"实现)

运用div模拟 设置contenteditable="true" 实现富文本编辑器效果,这种方法可以在可编辑区插入表情图片,由于在vue中div不能绑定v-model,需要换位处理。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值