찾다
웹 프론트엔드HTML 튜토리얼html table中的单元格的跳动方向设置_html/css_WEB-ITnose

<table><tr><td ><input type="text" style="width:60px;background-color: #FFFF99"/></td><td><input type="text" style="width:60px;background-color: #FFFF99"/></td><td ><input type="text" style="width:60px;background-color: #FFFF99"/></td></tr><tr><td ><input type="text" style="width:60px;background-color: #FFFF99"/></td><td><input type="text" style="width:60px;background-color: #FFFF99"/></td><td ><input type="text" style="width:60px;background-color: #FFFF99"/></td></tr><tr><td ><input type="text" style="width:60px;background-color: #FFFF99"/></td><td><input type="text" style="width:60px;background-color: #FFFF99"/></td><td><input type="text" style="width:60px;background-color: #FFFF99"/></td></tr></table>

按TAB键在input里的方向向右跳到下个input里。。。我想弄成向下移动。。。请问如何实现呢!!谢谢了!!


回复讨论(解决方案)

用tableindex属性值试试

用tableindex属性值试试
对。按照想跳转的顺序,在INPUT标签里加上tableindex属性,值从小到大。

引用 1 楼 zsx841021 的回复:
用tableindex属性值试试

对。按照想跳转的顺序,在INPUT标签里加上tableindex属性,值从小到大。
可以是可以。。。不过很多的时候一个个地添加。。。会累死人的!!
有没有偷懒的方法

document.onkeydown = function (e) {            var srcElement = samsung.dsem.utility.getSrcElement(e);            var currKey = samsung.dsem.utility.getKeyCode(e);            var keyName = "";            switch (currKey) {                case 8:                    keyName = "[退格]";                    if (srcElement != null) {                        if (srcElement.tagName != undefined && (srcElement.tagName == "input" || srcElement.type == "text" || srcElement.type == "textarea")) {                            if (srcElement.readOnly != true || srcElement.disabled != "disabled") {                                return true;                            }                        }                    }                    return false;                    break;                case 9:                    keyName = "[制表(Tab)]";                    var cur_tr = srcElement.parentNode.parentNode;                    var cur_td_index = srcElement.parentNode.cellIndex;                    if (cur_td_index!=null&&cur_td_index == (cur_tr.cells.length - 1)) {                        var next_tr;                        if (cur_tr.tagName != undefined && cur_tr.tagName.toLowerCase() == "tr") {                            next_tr = samsung.dsem.utility.getNextSibling(cur_tr);                            if (next_tr != null) {                                //try { next_tr.cells[cur_td_index].childNodes[0].focus(); /*next_tr.click();*/ } catch (e) { }                                try { next_tr.cells[1].childNodes[0].focus(); /*next_tr.click();*/ } catch (e) { }                            }                            return false;                        }                    }                    break;                case 13:                    keyName = "[回车]";//                    if (srcElement != null) {//                        if (srcElement.tagName != undefined && (srcElement.tagName == "input" || srcElement.type == "text" || srcElement.type == "textarea")) {//                            if (srcElement.readOnly != true || srcElement.disabled != "disabled") {//                                return true;//                            }//                        }//                    }//                    return false;//                    break;                    var cur_tr = srcElement.parentNode.parentNode;                    var cur_td_index = srcElement.parentNode.cellIndex;                    var next_tr;                    if (cur_tr.tagName != undefined && cur_tr.tagName.toLowerCase() == "tr") {                        next_tr = samsung.dsem.utility.getNextSibling(cur_tr);                        if (next_tr != null) {                            try { next_tr.cells[cur_td_index].childNodes[0].focus(); /*next_tr.click();*/ } catch (e) { }                        }                        return false;                    }                    break;                case 32:                    keyName = "[空格]";                    break;                case 33:                    keyName = "[PageUp]";                    break;                case 34:                    keyName = "[PageDown]";                    break;                case 35:                    keyName = "[End]";                    break;                case 36:                    keyName = "[Home]";                    break;                case 37:                    keyName = "[方向键左]";                    var cur_tr = srcElement.parentNode.parentNode;                    var cur_td = srcElement.parentNode;                    if (cur_td.tagName != undefined && cur_td.tagName.toLowerCase() == "td") {                        for (var i = 0; i < cur_tr.cells.length; i++) {                            if (i > 1) {                                if (cur_td == cur_tr.cells[i]) {                                    if (cur_tr.cells[i - 1].childNodes[0].disabled != "disabled") {                                        cur_tr.cells[i - 1].childNodes[0].focus();                                        if (cur_tr.cells[i - 1].childNodes[0].tagName.toLowerCase() != "select") {                                            cur_tr.cells[i - 1].childNodes[0].select();                                        }                                        //cur_tr.click();                                        break;                                    }                                }                            }                        }                    }                    break;                case 38:                    keyName = "[方向键上]";                    var cur_tr = srcElement.parentNode.parentNode;                    var cur_td_index = srcElement.parentNode.cellIndex;                    var prev_tr;                    if (cur_tr.tagName != undefined && cur_tr.tagName.toLowerCase() == "tr") {                        prev_tr = samsung.dsem.utility.getPreviousSibling(cur_tr);                        if (prev_tr != null) {                            try { prev_tr.cells[cur_td_index].childNodes[0].focus(); /*prev_tr.click();*/ } catch (e) { }                        }                        return false;                    }                    break;                case 39:                    keyName = "[方向键右]";                    var cur_tr = srcElement.parentNode.parentNode;                    var cur_td = srcElement.parentNode;                    if (cur_td.tagName != undefined && cur_td.tagName.toLowerCase() == "td") {                        for (var i = 0; i < cur_tr.cells.length; i++) {                            if (i < (cur_tr.cells.length - 1)) {                                if (cur_td == cur_tr.cells[i]) {                                    if (cur_tr.cells[i + 1].childNodes[0].disabled == "disabled" || cur_tr.cells[i + 1].childNodes[0].disabled == true) {                                    }                                    else {                                        cur_tr.cells[i + 1].childNodes[0].focus();                                        if (cur_tr.cells[i + 1].childNodes[0].tagName.toLowerCase() != "select") {                                            cur_tr.cells[i + 1].childNodes[0].select();                                        }                                        //cur_tr.click();                                        break;                                    }                                }                            }                        }                    }                    break;                case 40:                    keyName = "[方向键下]";                    var cur_tr = srcElement.parentNode.parentNode;                    var cur_td_index = srcElement.parentNode.cellIndex;                    var next_tr;                    if (cur_tr.tagName != undefined && cur_tr.tagName.toLowerCase() == "tr") {                        next_tr = samsung.dsem.utility.getNextSibling(cur_tr);                        if (next_tr != null) {                            try { next_tr.cells[cur_td_index].childNodes[0].focus(); /*next_tr.click();*/ } catch (e) { }                        }                        return false;                    }                    break;                case 46:                    keyName = "[删除]";                    break;                default:                    keyName = "";                    break;            }        }

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
HTML 태그가 웹 개발에 중요한 이유는 무엇입니까?HTML 태그가 웹 개발에 중요한 이유는 무엇입니까?May 02, 2025 am 12:03 AM

htmltagsareessentialforwebdevelopmentasthuctureandenhancewebpages.1) thefinelayout, semantics 및 internactivity.2) semantictagsimproveAccessibility 및 sseo.3) appleasoftagscanoptimizeperformanceandenseRocRossercompatiber.

HTML 태그 및 속성에 일관된 코딩 스타일을 사용하는 것의 중요성을 설명하십시오.HTML 태그 및 속성에 일관된 코딩 스타일을 사용하는 것의 중요성을 설명하십시오.May 01, 2025 am 12:01 AM

일관된 HTML 인코딩 스타일은 코드의 가독성, 유지 가능성 및 효율성을 향상시키기 때문에 중요합니다. 1) 소문자 태그 및 속성 사용, 2) 일관된 압입 유지, 3) 단일 또는 이중 인용문을 선택하고 고수하십시오. 4) 프로젝트에서 다양한 스타일을 혼합하지 않으십시오.

Bootstrap 4에서 멀티 프로 젝트 회전 목마를 구현하는 방법은 무엇입니까?Bootstrap 4에서 멀티 프로 젝트 회전 목마를 구현하는 방법은 무엇입니까?Apr 30, 2025 pm 03:24 PM

솔루션 Bootstrap4에서 다중 프로 젝트 회전 목마를 구현하는 것은 부트 스트랩 4에서 멀티 프로 젝트 회전 목마를 구현하는 것은 쉬운 일이 아닙니다. 부트 스트랩 ...

DeepSeek 공식 웹 사이트는 마우스 스크롤 이벤트를 관통하는 효과를 어떻게 달성합니까?DeepSeek 공식 웹 사이트는 마우스 스크롤 이벤트를 관통하는 효과를 어떻게 달성합니까?Apr 30, 2025 pm 03:21 PM

마우스 스크롤링 이벤트 침투의 효과를 달성하는 방법은 무엇입니까? 웹을 탐색하면 종종 특별한 상호 작용 디자인이 발생합니다. 예를 들어, DeepSeek 공식 웹 사이트에서 � ...

HTML 비디오의 재생 제어 스타일 수정 방법HTML 비디오의 재생 제어 스타일 수정 방법Apr 30, 2025 pm 03:18 PM

HTML 비디오의 기본 재생 제어 스타일은 CSS를 통해 직접 수정할 수 없습니다. 1. JavaScript를 사용하여 사용자 정의 컨트롤을 만듭니다. 2. CSS를 통해 이러한 통제를 아름답게합니다. 3. video.js 또는 plyr와 같은 라이브러리를 사용하여 호환성, 사용자 경험 및 성능을 고려하면 프로세스를 단순화 할 수 있습니다.

휴대 전화에서 기본 선택을 사용하면 어떤 문제가 발생합니까?휴대 전화에서 기본 선택을 사용하면 어떤 문제가 발생합니까?Apr 30, 2025 pm 03:15 PM

휴대 전화에서 기본 선택을 사용하는 데있어 잠재적 인 문제는 모바일 애플리케이션을 개발할 때 종종 상자를 선택해야 할 필요가 있습니다. 일반적으로 개발자 ...

휴대 전화에서 기본 선택을 사용하는 단점은 무엇입니까?휴대 전화에서 기본 선택을 사용하는 단점은 무엇입니까?Apr 30, 2025 pm 03:12 PM

휴대 전화에서 기본 선택을 사용하는 단점은 무엇입니까? 모바일 장치에서 애플리케이션을 개발할 때는 올바른 UI 구성 요소를 선택하는 것이 매우 중요합니다. 많은 개발자 ...

Three.js 및 Octree를 사용하여 방에서 3 인칭 로밍의 충돌 처리를 최적화하는 방법은 무엇입니까?Three.js 및 Octree를 사용하여 방에서 3 인칭 로밍의 충돌 처리를 최적화하는 방법은 무엇입니까?Apr 30, 2025 pm 03:09 PM

Three.js 및 Octree를 사용하여 방에서 3 인칭 로밍의 충돌 처리를 최적화하십시오. 3.js의 Octree를 사용하여 방에서 3 인칭 로밍을 구현하고 충돌을 추가하십시오 ...

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 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

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

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

mPDF

mPDF

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

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.