2014-12-01 2 views
2

복사 이벤트를 수신하고 일부 애니메이션 (예 : "successfully copied!")을 표시 한 다음 텍스트 필드의 초점을 맞추지 않는 코드 조각이 있습니다.JavaScript - onCopy 이벤트 및 흐림 효과

$('.textfield').on('copy', function() { 
    doAnimation(); 
    this.blur(); 
}); 

내가 실행 해요 문제는 흐림() 호출이 텍스트 선택이 손실 될 수 아무것도 페이스트 보드에 복사하지 발생하므로 텍스트가 클립 보드에 복사하기 전에이 이벤트가 트리거된다는 점이다.

텍스트를 복사 한 후에이 이벤트를 트리거 할 수 있습니까? 그것을 수정해야 타임 아웃을 사용하여

+0

시도. 예 : $ ('. textfield'). on ('copy', function() {dothis()}); $ (document) .ready (function() {function dothis() {doAnimation(); this.blur();}})); –

+0

@AlK 왜 그 점이 달라졌 을까요? –

답변

1

: 준비 문서에 doanimation 흐림 코드를 생성

$('.textfield').on('copy', function() { 
    var $_self = $(this); 
    doAnimation();  
    setTimeout(function(){$_self.blur();},0); 
}); 
+0

이것은 작동합니다. 밑줄을 사용하면 _.defer()가 정확히 이것을 수행합니다. –