返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue2如何实现div contenteditable=“true”效果
  • 751
分享到

vue2如何实现div contenteditable=“true”效果

2024-04-02 19:04:59 751人浏览 独家记忆
摘要

这篇文章给大家分享的是有关Vue2如何实现div contenteditable=“true”效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。发现问题在 vue2 中对表单控件

这篇文章给大家分享的是有关Vue2如何实现div contenteditable=“true”效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

发现问题

在 vue2 中对表单控件有着良好的双向数据绑定机制,但是对于要特定实现某些功能的输入时,我们就不得不使用到 contenteditable="true" 的 div ,而在这个 div 上是使用 v-model 是没有效果的。那么问题就来了,输入是非常需要双向绑定的,这里的双向数据绑定该如何实现?

解决思路一:自定义指令

当然,说在这一段的前面,这种解决方式在 vue2 中是不行的,为什么这么说,因为现在去搜索这个问题绝大多数的搜索结果是这个,所以放在前面。

实现的原理以及为什么不能用了

原理:自定义一个双向数据绑定的指令,代码如下:

Vue.directive('demo', {
 twoWay: true,
 bind: function () {
 this.handler = function () {
  this.set(this.el.innerhtml)
 }.bind(this)
 this.el.addEventListener('input', this.handler)
 },
 update: function (newValue, oldValue) {
 this.el.innerHTML = newValue || ''
 },
 unbind: function () {
 this.el.removeEventListener('input', this.handler)
 }
})

至于 this 下的这些方法,在 vue 官网上可能不太容易找到,因为这些是 vue1 中的内容,而在 vue2 中已经被移除了。所以在 vue2 中我们是不能这么干的,当然如果你使用的是 vue1 那么完全没问题,直接拿去用即可。

解决思路二:使用组件

单独声明一个组件,在组件内部处理数据(也就是innerHTML),并将数据返回给父组件。

代码如下:

<template>
 <div contenteditable="true"
  v-html="innerText"
  @input="changeText"></div>
</template>
<script>
 export default {
 props: ['value'],
 data(){
  return {innerText:this.value}
 },
 methods:{
  changeText(){
  this.innerText = this.$el.innerHTML;
  this.$emit('input',this.innerText);
  }
 }
 }
</script>

然后在父组件中直接使用 v-model 就可以了(这里我把组件名称定义成了 v-edit-div)。

<template>
 <div>
 <v-edit-div v-model='text'></v-edit-div>
 <span>{{text}}</span>
 </div>
</template>
<script>
 export default {
 data(){
  return {
  text:'改一下试一试',
  }
 }
 }
</script>

感谢各位的阅读!关于“vue2如何实现div contenteditable=“true”效果”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: vue2如何实现div contenteditable=“true”效果

本文链接: https://lsjlt.com/news/67761.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue2如何实现div contenteditable=“true”效果
    这篇文章给大家分享的是有关vue2如何实现div contenteditable=“true”效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。发现问题在 vue2 中对表单控件...
    99+
    2024-04-02
  • vue怎么实现div contenteditable=“true”效果
    今天小编给大家分享一下vue怎么实现div contenteditable=“true”效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起...
    99+
    2023-07-04
  • Div如何实现太极效果
    这篇文章主要介绍了Div如何实现太极效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。利用div+css实现简单的太极效果<style...
    99+
    2024-04-02
  • jquery如何实现div渐隐效果
    这篇文章主要介绍了jquery如何实现div渐隐效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇jquery如何实现div渐隐效果文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2024-04-02
  • jquery如何实现div的旋转效果
    本篇内容介绍了“jquery如何实现div的旋转效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先,在HTML中创建一个div元素:&l...
    99+
    2023-07-06
  • css如何实现div边框阴影效果
    本篇内容主要讲解“css如何实现div边框阴影效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css如何实现div边框阴影效果”吧!代码如下:<style type="...
    99+
    2023-07-04
  • vue2实现简易时钟效果
    本文实例为大家分享了vue2实现简易时钟效果的具体代码,供大家参考,具体内容如下 1.vue2+纯css实现 预览效果: 2.代码如下: <template>     ...
    99+
    2024-04-02
  • css3如何实现鼠标移动到div显示隐藏div效果
    本篇内容介绍了“css3如何实现鼠标移动到div显示隐藏div效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有...
    99+
    2024-04-02
  • vue2实现传送门效果的示例
    目录描述先看效果代码描述 在Vue3中<Teleport> 是一个内置组件,使我们可以将一个组件的一部分模板“传送”到该组件的 DOM ...
    99+
    2023-05-17
    vue2 传送门
  • 怎么用vue2.x+turn.js实现翻书效果
    这篇文章主要讲解了“怎么用vue2.x+turn.js实现翻书效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用vue2.x+turn.js实现翻书效果”吧!vue中使用turn.js...
    99+
    2023-06-26
  • div+css样式如何实现带小三角的tooltips效果
    这篇文章将为大家详细讲解有关 div+css样式如何实现带小三角的tooltips效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 代码和效果图如下:<...
    99+
    2024-04-02
  • vue实现移动端div拖动效果
    本文实例为大家分享了vue实现移动端div拖动的具体代码,供大家参考,具体内容如下 手机上会偶尔用到拖动div的效果,虽然我自己还没遇到,先写一个以防万一,需要注明的是,具体实现代码...
    99+
    2024-04-02
  • DIV+CSS圆角效果的实现方法
    本篇内容介绍了“DIV+CSS圆角效果的实现方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!DIV+CS...
    99+
    2024-04-02
  • JavaScript实现div的鼠标拖拽效果
    本文实例为大家分享了JavaScript实现div鼠标拖拽效果的具体代码,供大家参考,具体内容如下 实现原理鼠标按下时根据onmousemove事件来动态获取鼠标坐标位置以此来更新d...
    99+
    2024-04-02
  • div+css中怎么实现两列table效果
    这期内容当中小编将会给大家带来有关div+css中怎么实现两列table效果,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。css代码如下:.mycode{ margin-...
    99+
    2024-04-02
  • jquery实现div阴影效果示例代码
    复制代码 代码如下: <html> <head> <style> .mydiv1 {height:250px;width:250px;border...
    99+
    2022-11-15
    jquery div阴影
  • jQuery如何实现浮动层div浏览器居中显示效果
    这篇文章主要介绍jQuery如何实现浮动层div浏览器居中显示效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:1.在页面的head中引入jQuery<script&...
    99+
    2024-04-02
  • 如何用纯CSS结合DIV实现右侧底部悬浮效果
    这篇文章主要讲解了“如何用纯CSS结合DIV实现右侧底部悬浮效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用纯CSS结合DIV实现右侧底部悬浮效果”...
    99+
    2024-04-02
  • 怎么用jQuery代码实现DIV弹出效果
    本篇内容主要讲解“怎么用jQuery代码实现DIV弹出效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用jQuery代码实现DIV弹出效果”吧!jQuer...
    99+
    2024-04-02
  • 怎么用js+css实现div遮罩层效果
    本篇内容主要讲解“怎么用js+css实现div遮罩层效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用js+css实现div遮罩层效果”吧!<sty...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作