当前位置: 首页 > news >正文

网站建设公司优惠中微信小程序制作多少钱

网站建设公司优惠中,微信小程序制作多少钱,广元市住房和城乡建设局网站,西安企业网站排名优化工具在日常开发中有时可能会遇到input 或 textarea 不能满足的开发场景,比如多行输入的情况下,textarea 的右下角icon 无法去除, 所以此时可以使用div 设置可编辑状态,完成功能开发,在开发的过程中仍会遇到一下问题。 1,如…

        在日常开发中有时可能会遇到input 或 textarea 不能满足的开发场景,比如多行输入的情况下,textarea 的右下角icon 无法去除, 所以此时可以使用div 设置可编辑状态,完成功能开发,在开发的过程中仍会遇到一下问题。

1,如何设置div使其变成可编辑状态

 通过给div 添加 :contenteditable="true" 可以开启编辑状态,

 2,设置placeholder

 &__text{&:empty::before{display: inline-block;width:100%;content: attr(placeholder-pc);color: var(--t-font-color-gy3);cursor: text;}&:not(:empty)::before{content:none;}}

 3,粘贴事件

@paste="handlePaste"/*** 处理粘贴事件* @param event 剪贴板事件*/function handlePaste(event: ClipboardEvent) {event.preventDefault();const clp = event.clipboardData;const text = clp?.getData('text/plain') || '';if (text !== '') {document.execCommand('insertText', false, text);}}

 4,获取输入文本长度px

/*** @description: 计算输入文本所占的px长度* @param {*} text 输入的文本* @return {*}*/
export function calculateInputLength(text:string) {const dom = document.createElement('div');dom.style.position = 'absolute';dom.style.visibility = 'hidden';dom.style.display = 'inline-block';dom.style.width = 'auto';dom.style.height = '0px';dom.style.fontSize = '14px';dom.style.whiteSpace = 'nowrap';dom.innerHTML = text;document.body.appendChild(dom);const testWidth = dom.offsetWidth;document.body.removeChild(dom);return testWidth;
}

 5,输入处理,获取输入的文本内容

 通过 @input 事件绑定输入处理方法
 const handleInput = async (event: InputEvent) => {
      // state.isComposing 用来判断当前是否是中文输入法输入 第7步介绍
      if (state.isComposing || event.data === '') {
      // 如果进行的是中文输入法输入,或者输入的是空格,则不保存输入文本
        return;
      }
      // 添加输入文本长度检测
      // 否则的话可以根据event.target.innerText.trim() 获取输入的文本
      state.messageInfo =  cloneDeep((event?.target as HTMLElement)?.innerText?.trim());
      // 第6部将光标设置到文本末尾
      next(()=>{
           // 将光标设置到文本末尾
      })
}

 6,设置光标位置于内容文本末尾

/*** @description: 可编辑多行文本,设置光标聚焦文本末尾* @param {HTMLElement} dom 要编辑的dom元素* @return {*}*/
export const setCursorTAtTextEnd = (dom:HTMLElement) => {dom?.focus();const range = document.createRange();const selection = window.getSelection() as any;range.selectNodeContents(dom);range.collapse(false);selection.removeAllRanges();selection.addRange(range);
};

 7,中文输入法处理

        通过 @compositionstart="messageInputStart",及@compositiοnend="messageInputEnd" 对中文输入法状态进行处理

/*** @description: 键盘中文输入法开始* @param {*} event* @return {*}*/const messageInputStart = (event:Event) => {// 只有中文输入法才会触发state.isComposing = true;};/*** @description: 键盘输入结束* @param {*} event* @return {*}*/const messageInputEnd = (event: CompositionEvent) => {// 中文输入法结束state.isComposing = false;handleInput(event as any);};

http://www.yayakq.cn/news/105251/

相关文章:

  • 深圳整站优化wordpress 搬家后图片不显示
  • 个人网站平台昆明seo网站
  • 专业做网站联系电话做网站的流程图
  • 网站建设与开发 期末作品免费在线自助建站
  • 长春做网站的公司哪家好wordpress做留言板
  • 手机上怎么做网站网站谷歌地图提交
  • 响应式网站设计网站设计价格
  • 做海报的素材那个网站比较好wordpress 被挂
  • php网站开发软件是什么免费网站在哪里申请
  • 大连做网站的商品网站做推广方案
  • 泰安定制网站建设公司品牌vi设计理念
  • 丽泽桥网站建设网站关键词搜索优化怎么做
  • 网站关键词指数查询工具wordpress标签数据库
  • 网站建设与维护技术浅谈论文做网站招商需要具备什么
  • 建设部网站官网办事大厅东莞市卫生健康局
  • 自己做网站怎么样太原做网站公司5大建站服务
  • 域名可以同时做邮箱和网站么丹东建设监督网站
  • 有趣的网站 知乎北京城乡建设官方网站
  • 评估企业网站建设网站建设价格正规
  • wordpress插件 stock爱站网站长seo综合查询
  • 长基建站网站的建设目标有哪些
  • 做量化投资网站以前做视频的网站
  • 医院门户网站开发服务器租用后怎么使用
  • 网站建设指导思想和目标公司做网站 手机 电脑
  • 微网站的链接怎么做的wordpress邮件设置方法
  • 网站建设前期准备方案荆州网站设计
  • 360云主机可以建设网站吗专业的餐饮网站建设
  • 查看网站注册信息百度网盟推广步骤
  • 河南整站关键词排名优化软件公司做网站会计凭证怎么做
  • 重庆所有做网站的公司商业网站设计专业