首页 > 其他分享 >关于自定义实现input

关于自定义实现input

时间:2024-08-02 17:10:38浏览次数:14  
标签:自定义 text textContent width 关于 fake input fakeInput

最近遇到一个功能,让input输入框根据输入内容的多少自己撑开宽度,试了试原生的input标签,发现有默认宽度,所以找了找原理,自己实现一个input

实现原理比较简单 动态获取dom元素增加input事件然后给想要显示的元素附上输入的内容

上效果图截图

 

上vue2示例代码

<template>
<div>

<div id="input-container">
<p id="input-text">请输入文本</p>
<span id="fake-input" placeholder="placeholder" contenteditable></span>
</div>
</div>
</template>

<script>
export default{
data(){
return{
text: '有默认值'
}
},
methods:{
},
mounted() {
const fakeInput = document.getElementById('fake-input');
const inputText = document.getElementById('input-text');

fakeInput.addEventListener('input', function() {
inputText.textContent = '您输入了: "' + fakeInput.textContent + '"';
this.text = fakeInput.textContent;
});
if (this.text) {
const fakeInput = document.getElementById('fake-input');
fakeInput.textContent = this.text
}

}
}
</script>
<style>
#input-container {
width: 300px;
border: 1px solid #ccc;
padding: 10px;
}

#fake-input {
display: inline-block;
//width: 100%;
max-width: 100%;
padding: 5px;
border: 1px solid #ccc;
outline: none;
text-align: left;
}

#fake-input:empty:before {
content: attr(placeholder);
color: #ccc;
}
</style>

  

 

标签:自定义,text,textContent,width,关于,fake,input,fakeInput
From: https://www.cnblogs.com/harryzong/p/18339119

相关文章

  • 简要说一下关于实现整个深度学习项目的流程
    我们以识别生物信号为例子,其他类似与图像、文本和目标/故障检测的同样适用1.信号预处理;首先要将得到的生物信号进去噪音去除,另外所有的生物信号由于采样时间不同可能长度并不一样,这时候你需要统一长度。2.特征工程;你需要对所有的经过预处理并且将要输入神经网络的信号提取特......
  • Android 自定义图片拖动、缩放、旋转
    Android图片拖动、缩放、旋转图片拖动定义一个类,继承AppCompatImageViewpublicclassMyImageViewextendsAppCompatImageView{//实现方法publicMyImageView(Contextcontext){this(context,null);}//实现方法publicMyImageView(Cont......
  • HarmonyOS:如何实现自定义的Tabs,TabContent内部实现如何动态配置
    前言:最近做开发任务的时候,想把Tabs自定义了,并且动态配置TabContent里面的内容,不是写死一样的,这个问题困扰了很长时间,试过**@BuilderParam**(类似于vue的插槽)传组件方式的,但是**@BuilderParam只能传一个,我想要传递的是一个数组,找了很多Api最后找到了WrappedBuilder[]**这种方......
  • 关于一个简单的顺序表代码
    1.首先是头文件SeqList.h的代码:#pragmaonce#include<stdio.h>#include<assert.h>#include<stdlib.h>typedefintSXBint;typedefstructSL{ SXBint*a; intsize; intcapacity;}SLnode;//初始化voidSeqLsitInit(SLnode*ps);//尾插voidSeqPushback(S......
  • 自定义的 systemd 服务启动方式
    目录systemd单元文件(UnitFile)单元文件结构示例单元文件1.基础单元文件2.带有环境变量的单元文件3.自定义的ExecStartPre和ExecStartPost配置管理日志管理1.系统日志:2.应用程序日志:3.用户日志:使用prometheus配置实例1.配置prometheus2.配置alertmana......
  • UE5-自定义插件使用第三方库
    制作插件使用到了第三方库,后面很长时间没有用这个插件,导致插件启用不了,吃亏了,所以记录下制作过程。第一步:在继承ModuleRules的C#脚本里添加代码:privatestringModulePath { get { returnModuleDirectory; } } privatestringThirdPartyPath { get{re......
  • WPF 自定义对话框
    <Windowx:Class="WPFDemo2.窗体.CustomDialogWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas......
  • Photos框架 - 自定义媒体选择器(相册列表)
    ​​​​​​​Photos框架-自定义媒体资源选择器(数据部分)Photos框架-自定义媒体选择器(UI列表)​​​​​​​Photos框架-自定义媒体选择器(UI预览)Photos框架-自定义媒体选择器(相册列表)引言我们已经实现了媒体资源的列表选择以及媒体资源的大图预览功能,但通常一个......
  • clion 《cmake自定义静态库后,生成的exe无法运行》
    背景项目生成lib引入,在生成exe过程中无法正常运行处理办法让链接器静态链接GCC和C++标准库set(CMAKE_EXE_LINKER_FLAGS"-static-libgcc-static-libstdc++")主CMakeLists.txtcmake_minimum_required(VERSION3.28)project(speech)#编译版本set(CMAKE_CXX_STANDAR......
  • 【C#】WPF自定义Image实现图像缩放、平移
    1.xaml实现<UserControlx:Class="HalconDemo.ImageUserControl"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://sche......