2013-05-24 2 views
0

이미지와 div가 겹칩니다. div가 맨 위에 있고, div에 대해 flip()을 작성했습니다. div를 작성한 후 완료하려면 시간이 걸립니다. 사용자가 이미지를 클릭하면 플립 이미지가 클릭되는 대신 클릭됩니다. 특정 이미지에 대한 클릭 기능을 비활성화 할 수 있습니까?특정 요소에 대해 onClick 이벤트를 사용하지 않습니다.

이미지를 클릭 한 사업부는 :

$('#front').live('click', function() { 


$('#myImageFlow img').live('click', function() { 
+1

['.live()'] (http://api.jquery.com/live/)은 더 이상 사용되지 않습니다. ['.on()'] (http://api.jquery.com/on/) 또는 ['.delegate()'] (http://api.jquery.com/delegate/)를 사용하십시오. – SeinopSys

+1

HTML은 어떤 모습입니까? – j08691

+1

여기에 코드를 게시 할 수 있습니까? –

답변

0

당신은 아마 이미지 데이터로 전이 상태를 절약 할 수있다. 변환이 완료되면 데이터를 플래그로 설정하십시오. 플립을 시작하기 전에이 플래그를 확인할 수 있습니다. 필요한 경우 이벤트 처리기에서 false를 반환하거나 event.stopImmediatePropagation()을 호출하여 이벤트를 중지 할 수 있습니다.

$('#myImageFlow img').on('click', function (event){ 
    var $img = $(this); 
    if !($img.data('isTransitionFinished') { 
    event.stopImmediatePropagation(); 
    } else { 
    $img.flip(); // Assuming you made flip a jQuery plugin 
    } 
}; 

$.fn.flip = function() { 
    this.data('isTransitionFinished', false); // Reset from any previous transitions 
    var properties = {}; // Whatever property changes you're applying for the transition 
    this.animate(properties, { 
    complete: function() { 
     this.data('isTransitionFinished', true); 
    } 
    }); 
} 
관련 문제