2016-09-12 2 views
0

bootstrap-slider의 DOM 요소를 선택할 수있는 문제가 있다고 생각합니다. click과 같은 이벤트를 타겟팅하려고해도 아무 것도 해고 당하지 않습니다.부트 스트랩 슬라이더가 작동하지 않습니다.

페이지를 새로 고침하면 모든 이벤트가 올바르게 실행됩니다. 왜 이런 일이 생길 수 있습니까?

$(document).on("page:change", function() { 
    $(".slider-handle") 
     .on("mousedown", function() { 
      console.log("FOCUSED") 
      $(".active-handle").removeClass("active-handle"); 
      $(this).addClass("active-handle"); 
     }) 
     .on("mouseup", function() { 
      console.log("REMOVED") 
      $(this).removeClass("active-handle"); 
      $(".active-handle").removeClass("active-handle"); 
     }) 
     .on("click", function() { 
      console.log("REMOVED") 
      $(this).removeClass("active-handle"); 
      $(".active-handle").removeClass("active-handle"); 
     }) 
+0

콘솔에서 오류가 발생 했습니까? –

+0

jquery 이벤트 위임을 시도하십시오 ( –

+0

) 콘솔에 오류가 없습니다. –

답변

1

로드 할 때 요소가 표시되지 않으면 jQuery는 이벤트 처리기를 할당 할 수 없습니다. 이 시도 :

$(document).on("mousedown", ".slider-handle", function() { 

하여, 성능을 향상 모든 지속적 조상 요소와 document를 교체하려면.

+0

이 방법은'mouseup '및'click'에도 적용되지만'mousedown'은 여전히 ​​실행되지 않습니다. –

+0

@ 제레미 토마스 접근 방식은 마우스를 아래로, 내 피들을 참조하십시오 https://jsfiddle.net/bapo2ah5/2/ –

관련 문제