찾다
웹 프론트엔드JS 튜토리얼텍스트 상자 플래시백 입력은 항상 시작_javascript 기술에 입력 상자의 초점을 유지합니다.

일명 텍스트 상자 플래시백 입력은 입력 상자의 초점이 항상 시작 부분에 있음을 의미합니다. 그림과 같이 123456789를 입력하면 입력 상자에 987654321이 표시됩니다.


왜 이 데모를 하려고 합니까? 프로젝트에서 만났기 때문입니다. 프로젝트 요구 사항은 두 개의 입력 상자, 하나는 정방향 입력용이고 다른 하나는 역방향 입력용입니다. 아래에는 구현 아이디어와 코드를 작성하겠습니다.
텍스트 플래시백 입력:

입력 상자의 초점이 항상 첫 번째 위치에 있는지 확인하면 입력할 때마다 맨 앞에, 즉 플래시백이 발생한다는 것을 알 수 있습니다

코드:

function setPosition(ctrl, pos) { //设置光标位置函数
if (ctrl.setSelectionRange) {
ctrl.focus();
ctrl.setSelectionRange(pos, pos);
} else if (ctrl.createTextRange) {
var range = ctrl.createTextRange(); //创建一个选择区域
range.collapse(true); //将光标移动到选择区域的开始位置
range.moveEnd('character', pos); //改变选择区域结束的位置
range.moveStart('character', pos); //改变选择区域开始的位置
range.select(); //将选择的内容同步到当前的对象
}
}

매개변수 pos를 0으로 설정하면 됩니다.

다음은 일반 삭제 및 플래시백 입력을 구현한 전체 데모입니다.

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<style>
.content {
width: 300px;margin:0 auto;margin-top:50px;
}
ul {
list-style: none;
}
.elem {
width: 200px;
}

</style>
<script src="http://cdn.staticfile.org/jquery/2.1.1-rc2/jquery.min.js"></script>
</head>
<body>
<div >
<ul>
<li>
<input type="text" class="elem">
</li>
<li>
<input type="text" class="elem">
</li>
<li>
<input type="text" class="elem">
</li>
</ul>
</div>
<script>
function setPosition(ctrl, pos) { //设置光标位置函数
if (ctrl.setSelectionRange) {
ctrl.focus();
ctrl.setSelectionRange(pos, pos);
} else if (ctrl.createTextRange) {
var range = ctrl.createTextRange(); //创建一个选择区域
range.collapse(true); //将光标移动到选择区域的开始位置
range.moveEnd('character', pos); //改变选择区域结束的位置
range.moveStart('character', pos); //改变选择区域开始的位置
range.select(); //将选择的内容同步到当前的对象
}
}
$('.elem').on('keypress keyup', function() {
if(event.keyCode === 8)
return;
setPosition(this,0);
});
</script>
</body>
</html>

이외에도 초점위치 획득 관련 기능이 첨부되어 있으니 활용하시면 됩니다

function getPosition(ctrl) {
// IE Support
var CaretPos = 0; 
if (document.selection) {
ctrl.focus();
var Sel = document.selection.createRange();
Sel.moveStart('character', -ctrl.value.length);
CaretPos = Sel.text.length;
}
// Firefox support
else if (ctrl.selectionStart || ctrl.selectionStart == '0')
CaretPos = ctrl.selectionStart;
return (CaretPos);
}

요약:

텍스트 입력 포커스를 설정하고 가져온 후 전체 단어나 변수 삭제 등과 같은 다른 특수 효과를 수행할 수 있습니다.

이 기사에 대한 좋은 아이디어가 있으면 @me를 보내주세요. 이 기사가 도움이 되기를 바랍니다.

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
寻找抛物线的顶点、焦点和准线的C/C++程序寻找抛物线的顶点、焦点和准线的C/C++程序Sep 05, 2023 pm 05:21 PM

Asetofpointsonaplainsurfacethatformsacurvesuchthatanypointonthatcurveisequidistantfromapointinthecenter(calledfocus)isaparabola.Thegeneralequationfortheparabolaisy=ax2+bx+cThevertexofaparabolaisthecoordinatefromwhichittakesthesharpestturnwhereasaisth

jquery怎么去除焦点jquery怎么去除焦点Feb 17, 2023 am 10:20 AM

jquery去除焦点的方法:1、通过“document.getElementById('test').focus()”获取焦点;2、使用“document.getElementById('test').blur();”方法移除焦点即可。

使用jQuery实现输入框仅允许输入数字和小数点使用jQuery实现输入框仅允许输入数字和小数点Feb 26, 2024 am 11:21 AM

实现jQuery输入框限制数字和小数点输入在Web开发中,我们经常会遇到需求需要控制用户在输入框中输入的内容,比如限制只能输入数字和小数点。这种限制可以通过JavaScript和jQuery来实现。下面将介绍如何使用jQuery实现输入框限制数字和小数点输入的功能。一、HTML结构首先,我们需要在HTML中创建一个输入框,代码如下:

手把手教你用CSS实现简单大气的输入框手把手教你用CSS实现简单大气的输入框Jan 13, 2023 pm 03:55 PM

本篇文章给大家带来了关于CSS的相关知识,其中主要介绍了怎么用CSS实现一个简单又高大上的输入框,手把手教你哦~下面一起来看一下吧,希望对需要的朋友有所帮助。

Vue开发中输入框长度限制的优化方法是什么?Vue开发中输入框长度限制的优化方法是什么?Jun 30, 2023 am 08:44 AM

如何优化Vue开发中的输入框输入长度限制问题引言:在Vue开发过程中,输入框长度限制是一个常见的需求。限制用户在输入框中输入的字符个数有助于保持数据的准确性、优化用户体验以及提高系统的性能。本文将介绍如何优化Vue开发中的输入框输入长度限制问题,以提供更好的用户体验和开发效率。一、使用v-model指令绑定输入框值在Vue开发中,我们通常使用v-model指

如何使用 Vue 实现带标签的输入框?如何使用 Vue 实现带标签的输入框?Jun 25, 2023 am 11:54 AM

随着Web应用的发展,带标签的输入框越来越受欢迎。这种输入框可以让用户更方便地输入数据,同时也方便用户对已输入的数据进行管理和搜索。Vue是一款非常强大的JavaScript框架,它可以帮助我们快速地实现带标签的输入框。本文将介绍如何使用Vue实现带标签的输入框。第一步:创建Vue实例首先,我们需要在页面上创建Vue实例,代码如下:&l

实现HTML页面跳转到PHP页面时姓名输入框的必填要求实现HTML页面跳转到PHP页面时姓名输入框的必填要求Mar 10, 2024 am 10:21 AM

在HTML页面跳转到PHP页面时,如果需要在姓名输入框中加入必填要求,可以通过HTML的表单元素和JavaScript实现。下面将详细介绍如何实现这一功能,并附上具体的代码示例。首先,我们创建一个HTML页面,包含一个表单和一个姓名输入框。在姓名输入框中设置一个“必填”标记,可以通过JavaScript来实现对该输入框的必填验证。当用户点击提交按钮时,如果姓

使用PHP函数 "array_unshift" 将元素插入到数组的开始位置使用PHP函数 "array_unshift" 将元素插入到数组的开始位置Jul 25, 2023 pm 03:39 PM

使用PHP函数"array_unshift"将元素插入到数组的开始位置PHP是一种广泛使用的服务器端脚本语言,用于创建动态网页。在PHP中,数组是一种非常重要的数据结构,用于存储和操作一组数据。有时候我们需要在数组的开始位置插入一个元素,这时就可以使用PHP内置函数"array_unshift"。"array_unshift"函数的作用

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.