2013-06-18 1 views
2

두 가지 .click 메서드가 있는데 왜 서로의 부재 상태에서만 작동하는지 확신 할 수 없습니다.두 개의 .click 메소드가 서로 간섭합니까?

코드 :

선택적 DIV
$(
function(){ 
    var jContent = $("#simplecart_items"); 
    $("a").click(
     function(objEvent){ 
      var jLink = $(this); 
      jContent.load(jLink.attr("href")); 
      return(false);      
     } 
     ); 

} 
); 

어떤 아이디어를 다시로드

var clickAction = function(){ 
     settings.tabHandle.click(function(event){ 
      if (obj.hasClass('open')) { 
       slideIn(); 
      } else { 
       slideOut(); 
      } 
     }); 

     clickScreenToClose(); 
    }; 

2 책임 콘텐츠 슬라이딩 숨긴다

1?

+1

'$ ("A") .click을 (호출'매우 일반적이며 쉽게 혼합 할 수 있습니다. 추가하세요 당신이'settings.tabHandle'을 정의하는 곳은 무엇입니까? – jtheman

+0

콘솔 에러가 발생합니까 – Dom

+3

한 번의 클릭 핸들러에서'return false'가 다른 클릭 핸들러가 트리거되는 것을 막을 수 있다고 가정 할 것입니다 – Blazemonger

답변

3

return (false); objEvent.preventDefault(); jQuery를에

jQuery.on()

이벤트 핸들러 또는 이벤트 객체에 대한 이러한 메소드를 호출하여 잘못된 리턴 값을 사용하여 버블 링을 방지 할 수에서는 event.preventDefault() event.stopPropagation() 및 event.stopImmediatePropagation을 ()

event.preventDefault()는 브라우저가 이벤트에 대한 기본 동작을 수행하는 것을 중지합니다 (예 : 양식 제출, 탐색 ...

event.stopPropagation() jQuery가 노드 위로 연결된 노드에 연결된 핸들러를 호출하지 못하도록합니다. 동일한 레벨에 연결된 핸들러는 여전히 호출됩니다.

event.stopImmediatePropagation() 모든 핸들러가 호출되는 것을 중지합니다. 이벤트 핸들러에서 false를 반환

자동으로 event.stopPropagation()와에서는 event.preventDefault()

+0

감사합니다. 패트릭, 그게 바로 제가 한 일입니다. 매력처럼 일했습니다. 정보가 많이 감사드립니다! – user2487746

관련 문제