2013-03-11 2 views
1

나는 JQuery와에있는 하이퍼 링크의 onclick에서 HTML의 특정 사업부를 보여,이 시점에 붙어있다, 나는이 여기에 다음 코드를 얻을 didnt는 대답JQuery와 : 팝 오버는 onclick 이벤트

$(function() { 
    var moveLeft = 20; 
    var moveDown = 10; 

    $('a#trigger').click(function(e) { 
     $('div#pop-up').show() 
      .css('top', e.pageY + moveDown) 
      .css('left', e.pageX + moveLeft) 
      .appendTo('body'); 
     }, function() { 
      $('div#pop-up').hide(); 
    }); 
    $('a#trigger').mousemove(function(e) { 
     $("div#pop-up").css('top', e.pageY + moveDown).css('left', e.pageX + moveLeft); 
    }); 
}); 

을 시도 click() 메서드 대신 메서드를 시도해 보았습니다. 작업 할 때 click()을 넣을 때 작동하지만, 작동하려면 click() 메서드가 필요합니다. 어떻게 처리합니까?

답변

2

때문입니다. 귀하의 경우 그래서 http://api.jquery.com/click/

, 코드 조각을 발견 :
이보기

당신은 클릭에서 실행하려는 첫 번째 함수, 실제로 의미가 이벤트로 전달되는
   $('a#trigger').click(function(e) { 
        $('div#pop-up').show() 
        .css('top', e.pageY + moveDown) 
        .css('left', e.pageX + moveLeft) 
        .appendTo('body'); 
       }, function() { 
        $('div#pop-up').hide(); 
       }); 

데이터. # 트리거를 클릭 할 때마다 실행중인 두 번째 기능입니다.

또는 다음과 같이 그것을 코드 수 : - 불행히도 - 마우스 오버와로 마우스가 명확하지 않습니다

var triggerState = 0; 
$('a#trigger').click(function(e) { 
    if (triggerState === 0) { 
     $('div#pop-up').show() 
     .css('top', e.pageY + moveDown) 
     .css('left', e.pageX + moveLeft) 
     .appendTo('body'); 
     triggerState = 1; 
    } 
    else if (triggerState === 1) { 
     $('div#pop-up').hide(); 
     triggerState = 0; 
    } 
}); 

을 당신이 가져가처럼, 그 클릭을 생각하는 실수를 생각, 서로 다른 상태에 대한 두 가지 기능을 수용 그러나 상태 추적이 가능하지만 "대체 클릭"은 명확한 상태 추적이 가능하지 않으므로 jQuery 클릭은이 기능을 제공하지 않습니다.

+0

덕분에 일했습니다 .... –

0

이 시도 ... 도와주세요 : 달리 호버는(), 클릭() 메소드는 단 하나의 핸들러를 지원

$(function() { 
    var moveLeft = 20; 
    var moveDown = 10; 

    $('a#trigger').click(function(e) { 

     if($('div#pop-up').length) 
     { 
      $('div#pop-up').toggle(); 
     } 
     else 
     { 
      $('div#pop-up') 
       .css({'top': e.pageY + moveDown,'left': e.pageX + moveLeft}) 
       .appendTo('body').show(); 
     } 
    }); 

    $('a#trigger').mousemove(function(e) { 
     $("div#pop-up").css({'top': e.pageY + moveDown,'left': e.pageX + moveLeft}); 
    }); 
}); 
+0

올바른 것을 얻지 못했습니다 –

+0

'body # '에'div # pop-up'가 생성되었는지 확인 하시겠습니까? 또는 위의 대답을 시도해보십시오. –

+0

이 있습니다. hover() 함수에 대해 이미 확인했습니다. –