art-template:input框中传入视频后不能进行输入/删除操作

博客围绕art-template模板引擎展开,介绍其是简约、超快的模板引擎,支持标准和原始语法。基于JQuery开发引用该引擎,页面选框可添加多种内容。但input选框插入视频后不能编辑/删除,给出临时解决方案,也指出正确做法是调整引用公用组件。

1.art-template模版引擎文档

art-template 是一个简约、超快的模板引擎
它支持两种模板语法:

  • 标准语法
{{if user}}
  <h2>{{user.name}}</h2>
{{/if}}
复制代码
  • 原始语法
<% if (user) { %>
  <h2><%= user.name %></h2>
<% } %>
复制代码

art-template ----文档链接

2.项目背景介绍


  • 基于JQuery进行的开发引用的是art-template模版引擎
  • 项目中需要引入内部公共组件(原因在此不宜过多赘述)
  • 页面功能:
    - 页面以弹窗形式展示
    - 页面内选框可根据状态进行编辑 / 修改 / 保存等操作
    - 选框内部可添加链接 / 图片 / 视频 / 文字等相关内容

3.input选框中插入视频后不能编辑/删除操作

  • 解决方案:

    • 在模版引擎中对渲染的内容进行处理
    • 对渲染的字符串进行判断是否包含video标签
    • 判断video标签后是否有其他内容
    • video标签后无内容的话则填入<br>标签字段
  • 代码如下

    <% var ans = answers[j].answer %>
    <% var indexVal = ans.indexOf("</video>") %>
    <% var sliceLen = ans.slice(indexVal+8).length %>
    <% var boolAnsVal = (indexVal !== -1) && (sliceLen === 4) ? ans.slice(0,indexVal+8)+'<br>' : ans %>
    <div class="<%= 'audit-detail-item-content audit-answer-box ' + redColorFun %>">
        <div contenteditable="<%= params.statusNum === 0 ? true : false %>" data-dom="audit-detail-edit" data-id="<%= answers[j].id %>" data-tagid="<%= answers[j].answerTagId %>" class="<%= 'audit-answer-con-text ' + editInput %>">
            <%- boolAnsVal %>
        </div>
    </div>
复制代码
  • 效果如图

编辑效果

删除效果

4.问题总结

  • 其实这只是一个亡羊补牢的办法
  • 正确方法应该及时调整引用公用组件(因为一些原因此方法不可行顾不在此赘述)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值