2013-06-06 5 views
0

jquery로 클릭 이벤트를 바인딩하는 중 문제가 발생했습니다. 모든 브라우저에서 정상적으로 작동하지만 Firefox에서는 작동하지 않습니다. 당신의 대답에 미리 감사드립니다.jquery 바인드가 Firefox에서 작동하지 않습니다.

var conf_markers = function() { 

     // create a wrapper for our markers 
     $m_wrapper = $('<ol class="bjqs-markers"></ol>'); 

     // for every slide, create a marker 
     $.each($slides, function(key, slide){ 

      var slidenum = key + 1, 
       gotoslide = key + 1; 

      if(settings.animtype === 'slide'){ 
       // + 2 to account for clones 
       gotoslide = key + 2; 
      } 

      var marker = $('<li><a href="#"></a></li>'); 

      // set the first marker to be active 
      if(slidenum === state.currentslide){ marker.addClass('active-marker'); } 

      // bind the click event 
      marker.bind('click','a',function(e){ 
       e.preventDefault(); 
       if(!state.animating && state.currentslide !== gotoslide){ 
        go(false,gotoslide); 
       } 
      }); 

      // add the marker to the wrapper 
      marker.appendTo($m_wrapper); 

     }); 

     $m_wrapper.appendTo($wrapper); 
     $m_markers = $m_wrapper.find('li'); 

     // center the markers 
     if (settings.centermarkers) { 
      $m_wrapper.addClass('h-centered'); 
      var offset = (settings.width - $m_wrapper.width())/2; 
      $m_wrapper.css('left', offset); 
     } 

    }; 

라인 marker.bind(), 'A', 기능 (예를 들어 '클릭'{까지 I시피이 유발이다.

+0

'.bind()'대신'.on()'을 사용하려 했습니까? –

+0

veeery 빠른 답장을 보내 주셔서 감사합니다. 실제로 시도했지만 실제로 도움이되지 않았습니다. 모든 브라우저에서 .on()이 작동하지 않았습니다. – emmetje

+0

아마도 더 낮은 버전의 jquery를 사용하고 계신 것 같습니다. –

답변

1

광고를 교체한다

, 링크는 동적으로 추가 된 이후이

// New way (jQuery 1.7+) - .on(events, selector, handler) 
marker.on('click', 'a', function(e){ 

marker.bind('click','a',function(e){ 

, 당신은 이벤트 핸들러 U를 등록 이벤트 위임을 사용합니다 on()을 부르십시오.

+1

많은 감사합니다! 모든 것이 이제는 잘되고 있습니다! – emmetje

+0

하지만 5 분을 기다려야 할 것입니다 ... – emmetje

관련 문제