2012-10-23 3 views
0

사용자가 전환 한 후 데이터가 원래 상태로 돌아가는 간단한 솔루션이 있다면 궁금합니다. 현재 솔루션은 원래 상태를 저장하고 사용자가 마우스를 놓지 않으면이 데이터를로드하는 것입니다. 각 호버가 많은 텍스트 필드를 변경함에 따라 지루할 수 있으며 이러한 모든 정보를 저장하는 것은 번거로운 작업입니다.jQuery .hover() 자동으로 이전 상태로 돌아 가기

JavaScript/jQuery에 CSS :hover과 같은 내용이 있는지 궁금합니다. 자동으로 원래 상태로 돌아갑니다.

+2

_ "the data"_ - 어떤 데이터입니까? 기존 코드를 보여줄 수 있습니까? (그리고 아마도 http://jsfiddle.net에서 데모를 설정하십시오.) _ "각각의 호버 (hover)는 많은 텍스트 필드를 변경하며,이 모든 정보를 저장하는 번거 로움"_ - serialiseForm()과 'populateForm()'함수를 사용하면 지정된 컨테이너 안에있는 모든 폼 요소의 상태를 저장하고 복원 할 수 있습니다. 필요한 것입니까? – nnnnnn

+0

사용자가 맴돌고 나서 복원하기 전에 선택기의 전체 HTML을 저장할 수 있습니다. –

답변

2

해결 방법은 원래 상태를 DOM에 숨겨 지지만 변경되지 않은 상태로 유지하여 "저장"하는 것입니다.

대신의 변화 원래의 텍스트 필드 : onMouseover와

  • : 클론을 생성하고 필요에 따라 수정; 원래 텍스트 필드를 숨 깁니다.
  • onmousout : 복제본을 제거 (숨기기)하고 원본 텍스트 필드를 표시합니다.

다음 마우스 오버시 이전 클론이 여전히 관련성이 있는지 여부에 따라 숨겨진 복제본을 다시 표시하거나 단순히 다시 표시 할 수 있습니다.

2

아마도 도움이 될 수 있지만 더 많은 정보와 몇 가지 샘플 코드를 제공해야합니다.

어쨌든 사용자가 마우스를 올려 놓기 전에 선택기의 전체 HTML을 저장할 수 있습니다.

$('#button').hover(
    function(){ 
     var oldData = $('#data').html();   
    }, 
    function(){ 
     $('#data').html(oldData); 

    } 
); 

이 정보가 도움이 될까요?
http://api.jquery.com/hover/

그 다음이 아닌 경우 당신은 아마 .mouseover.mouseout를 사용해야합니다 : http://api.jquery.com/mouseover/
http://api.jquery.com/mouseout/

을 당신은 단순히을 해결해야

1

나는이 이미 기본 동작을 믿습니다 논리를 사용하여 이러한 이벤트의 내용을 변경합니다. ;)

희망이 도움이됩니다. :)

관련 문제