2009-12-31 3 views
1

업데이트 :이 질문은 해결되었다, 그래서 내 예를 들어, 웹 페이지JQuery와 초점()는 크롬과 IE가 아닌 파이어 폭스에서 작동

내 웹 페이지를로드 할 때 버그가 파이어 폭스의 행동이 더 이상 표시되지 않습니다 텍스트의 길이가 매우 길기 때문에 각 단락마다 고유 한 permalink를 만들고 싶습니다. 이를 위해 jQuery를 사용하여 페이지가로드 된 후 각 단락에 앵커 및 링크를 추가합니다. Chrome에서 완벽하게 작동했습니다. 이것을 IE에서 작동 시키려면 앵커를 적용한 후에 명시적인 jQuery focus() 함수를 추가해야합니다. 그러나 페이지를 처음으로로드하거나 새로 고침 (예 : http://www.readsherlock.com/study.php#p4)하면 Firefox에서이 기능이 작동하지 않습니다. 관련 자바 스크립트가 아래에 붙여 넣어집니다.

$(document).ready(function() { 
    var i = 1; 
    $("#text p").each(function(i){ 
     $(this).html('<a name="p' + i + '" href="#p' + i++ + '">' + $(this).html() + '</a>'); 
    }); 
    if(location.hash != '') 
     $(location.hash).focus(); 
    }); 

감사합니다.

+0

Firefox에서 제대로 작동합니다. 3.5.7, Snow Leopard에서. 아니면 그렇게 생각합니다. 관련된 단락으로 뛰어 내려야한다고 했지, 맞습니까? –

+0

FYI, 우분투의 Firefox 3.0.16은 링크를 클릭하거나 F5를 한번 누르지 않아도 작동하지 않습니다. URL을 클릭하고 Enter 키를 누르면 작동합니다 (OP와 비슷한 것 같습니다). –

답변

0

이것은 많은 필요가 초점과 모든 브라우저를 트리거 할 재설정을 모두 할 수 있도록 나는 다른 브라우저를 확인하지 않은

$(document).ready(function() { 
    var i = 1; 
    $("#text p").each(function(i){ 
     $(this).html('<a name="p' + i + '" href="#p' + i++ + '">' + $(this).html() + '</a>'); 
    }); 
    if(location.hash != '') 
     location.hash = location.hash; 
}); 

파이어 폭스 3.0.16에서 나를 위해 작동합니다.

+0

감사합니다. 때로는 가장 간단한 대답이 가장 좋습니다. –

관련 문제