2013-05-17 5 views
1

Google 크롬에서 완벽하게 작동하는 몇 가지 jquery 및 ajax 함수가 있습니다. 파이어 폭스에서 사용할 때 라이브 서버에서는 작동하지 않습니다. 파이어 폭스에서 알려진 이슈입니까? 아니면 놓친 간단한 해결책이 있습니까? 주로 AJAX 코드에 문제가 있다고 생각하지만 확실하지 않습니다.크로스 브라우저 jquery

여기

$(document).ready(function(){ 
    $("a[id ^= 'toggle']").live("click", function(){ 
     event.preventDefault(); 
     $("div [id='replypost_"+$(this).attr('id').replace('toggle_','')+"']").toggle(); 
    }); 
}); 

주 .... 내 jQuery 코드이다 : 그것은 또한 인터넷 익스플로러에서 작동하지 않습니다. Google 크롬에서만 작동합니다!

+1

선택기의 공백에주의하십시오. 문제 일 수 있습니다. – elclanrs

답변

2

사용중인 jquery의 버전은 무엇입니까?

아니요 event이 정의되어 있습니까?

시험해주세요. jQuery를 1.7로서

$(document).ready(function(){ 
     $("a[id^='toggle']").live("click", function(event){ 
      event.preventDefault(); 
      $("div [id='replypost_"+$(this).attr('id').replace('toggle_','')+"']").toggle(); 
     }); 
}); 

는 .live() 메소드는 추천된다. .on()을 사용하여 이벤트 핸들러를 연결하십시오. 이전 버전의 jQuery 사용자는 .live()보다 우선하여 .delegate()를 사용해야합니다.

$(document).ready(function(){ 
     $("a").on("click", "a[id^='toggle']", function(event){ 
      event.preventDefault(); 
      $("div [id='replypost_"+$(this).attr('id').replace('toggle_','')+"']").toggle(); 
     }); 
}); 
+1

문제는 '이벤트'가 매개 변수로 정의되지 않았다는 것입니다. '.on()'**을 사용하는 방식은 ** .live()와 동일하지 않습니다. – Ian

+0

.live()를 사용하여 현재 및 미래의 객체를 처리하고 있습니다. –

+1

@KeithDrakeWaggoner 당신은'$ (document) .on ("click", "a [id^= '토글]' ', function (event) {})와 같은 것을 사용해야 할 것입니다.' – Ian

관련 문제