2013-02-12 1 views
2

jQuery를 사용하여 텍스트 영역의 값이 변경되면 어떻게 검색 할 수 있습니까? 저는 현재 keyup()을 사용하고 있습니다 만, 이것은 모든 키 스트로크를 트리거합니다. 눌려진 화살표 키이거나 텍스트 영역의 값에 영향을주지 않는 다른 키라면 코드를 실행하지 마십시오. 난 당신이 이해를 바랍니다텍스트 영역의 내용에 영향을 미치는 jQuery 키 업 키

$('textarea').keyup(function() { 
    if (content was changed) 
     // Do something 
}); 

:

가보세요. 가장 좋은 방법은 무엇입니까? 변경 사항을 확인하기 위해 현재 값을 이전 값과 비교하고 싶지 않습니다. 그 유일한 방법이 아니길 바랍니다.

답변

6

가장 쉬운 방법은 이전 값을 데이터에 저장하고 모든 keyup을 확인하는 것입니다. 해결책은 매우 짧으며 어떤 경우에도 작동합니다. 바퀴를 재발 명할 필요가 없습니다.

$("textarea").data("oldValue", function() { 
    return this.value; 
}).keyup(function() { 
    var $this = $(this); 
    if (this.value !== $this.data("oldValue")) { 
     // Do something 

     $this.data("oldValue", this.value); 
    } 
}); 

DEMO :http://jsfiddle.net/vvbSj/

0
$('textarea').blur(function() { 
    //This will be invoked when the focus is removed 
}); 

$('textarea').change(function() { 
    //Same as the blur 
}); 

이 당신이

을 원하는인가
관련 문제