집 >
기사 > 웹 프론트엔드 > 같은 테이블? 다양한 테이블(편집 가능한 상태 테이블)_jquery
같은 테이블? 다양한 테이블(편집 가능한 상태 테이블)_jquery
WBOY원래의
2016-05-16 17:49:561133검색
새로운 날이 시작되었고 삶은 계속됩니다. 오늘 여러분과 공유하고 싶은 것은 다른 테이블입니다. 일반적인 테이블을 사용하여 데이터를 표시합니다. 오늘 공유하고 싶은 테이블은 데이터를 표시할 수 있을 뿐만 아니라 데이터를 편집할 수도 있습니다. 데이터를 마우스로 클릭하면 해당 데이터 그리드가 편집 가능해집니다. 먼저 오늘의 주제를 살펴보겠습니다.
tbody th{ background-color:# FFFACD; > HTML 페이지에는 편집 가능한 페이지 요소가 몇 개밖에 없습니다. 아쉽게도 테이블을 편집 가능하게 만들려면 테이블에 편집 가능한 페이지 요소를 삽입한 다음 장식해야 합니다. CSS를 사용하여 일반 테이블처럼 보이도록 하지만 JS 코드는 다음과 같습니다.
코드 복사
코드는 다음과 같습니다.
$(function(){ var content; $( "#content tr:odd").css( "배경색","#D2B48C"); $("#content tr:even").css("배경색","#C0C0C0") $("#content td" ).click(function(){ var clickObj = $(this); content = clickObj.html();
var keyvalue = event.which; if(keyvalue==13){ node.html(node.children("input").val()); } if(keyvalue==27){ node .html(content) } }).blur(function(){ if(node.children("input").val()!=content){ if(confirm ("수정된 콘텐츠를 저장하시겠습니까? ","예","아니요")){ node.html(node.children("input").val()); }else{ node.html(content); } }else{ node.html(content) } }) } }); 다음으로 이 JS에 대한 간단한 분석을 해보겠습니다. 전역 변수 var content는 편집하기 전에 테이블의 내용을 저장하는 데 사용됩니다. 사용자가 테이블을 편집하지만 편집된 결과를 저장하고 싶지 않을 때가 있습니다. 테이블을 저장하려면 편집하기 전에 테이블의 내용이 복원되므로 마우스 클릭 시 테이블의 내용을 먼저 저장해야 합니다.
다음 두 문장 $("#content tr:odd").css("Background-color","#D2B48C") $("#content tr:even").css("배경 -color","#C0C0C0");은 테이블의 가시성을 높이기 위해 테이블에 대체 행 색상을 적용하는 것입니다. var inputObj = $(""); 이 문장은 편집 가능한 JQuery 객체를 생성하는데, 이는 편집 가능한 요소를 테이블에 삽입하는 것입니다. CSS를 추가하는 것입니다. .css() 메소드는 객체의 CSS 스타일을 설정할 수 있을 뿐만 아니라 객체의 CSS 스타일도 얻을 수 있습니다. JQuery 메소드가 실행된 후 JQuery 객체가 반환되는 경우가 많기 때문에 inputObj.css().css().css()....가 나타납니다.
appendTo() 메서드는 테이블의 편집 가능성을 실현하고(appendix()도 사용할 수 있음) 편집 가능한 요소를 테이블에 삽입합니다. .get(0).select() 두 가지 메소드는 편집 가능한 요소에 초점이 맞춰지도록 inputObj의 콘텐츠를 선택하는 데 사용됩니다. 이 두 메소드는 반드시appendTo(), inputObj.click( function(){}) 메서드도 중요합니다. 이 메서드를 삭제하면 흥미로운 버그가 발생합니다.
다음 keyup(function(event){})을 사용하면 event.which를 통해 키보드에서 누른 키에 해당하는 키 값을 얻을 수 있습니다. 일반적으로 사용되는 키 값에는 Enter 키: 13, Esc 키 :27. Enter 키를 누르면 편집된 내용이 저장되고 테이블은 일반 테이블로 복원됩니다. Esc 키를 누르면 테이블의 내용이 복원되고 테이블이 원래 테이블로 복원됩니다. 일반 테이블.
사용자 경험, Apple의 등장으로 이 단어가 더욱 유명해졌고, 우리도 그 즐거움에 동참하기 위해 왔습니다. 사용자 경험을 향상시키기 위해 여기에는 Blur(function(){}) 메서드가 추가되었습니다. 포커스가 편집 가능한 요소를 벗어나면 먼저 테이블의 내용이 변경되었는지 확인하고 변경 사항이 없으면 직접 복원합니다. 테이블과 테이블의 내용이 변경된 경우 사용자에게 저장할지 묻는 메시지를 표시합니다.
오늘의 예제는 기본적으로 완성되었습니다. 별도의 JS 파일에서 JS 코드를 참조하면 중국어로 왜곡된 버그가 나타날 수도 있습니다. 이 글을 읽어주셔서 감사드리며, 도움이 되셨으면 좋겠습니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.