페이지의 URL에 해당 모달 ID가 전달 될 때 페이지에서 ID'd jQuery UI 모달을 열 수 있어야합니다. 예 :URL을 통해 jQuery 모달을 열 때 ID 스크롤을 중지합니다.
http://mysite.com/visit.html#directions
#directions는 페이지 맨 아래, 닫는 BODY 요소 바로 앞에서 식별 할 수 있습니다. 페이지로드시 jQuery UI 대화 상자로 인스턴스화 된 다음 모달 ID의 현재 URL을 확인하는 함수를 실행 중입니다. URL에 모달 ID가 있으면 모달이 열립니다. 내가 데 문제는 브라우저가 자동으로 모달 전에 페이지 의 맨 아래에있는 ID 아래로 스크롤되는 것입니다
function autoOpenModal() {
if (document.location.href.indexOf('#')) {
var uriParts = document.location.href.split('#');
var hashID = '#' + uriParts[1];
if ($(hashID) && $(hashID).hasClass('dialog')) {
$(hashID).dialog('open');
}
}
}
:
은 여기 내 자동 open 함수의 모습입니다 열립니다. 그래서 사용자가 모달을 닫으면 페이지의 맨 아래에있게됩니다.
아무도 내가 자동 스크롤에서 ID까지 브라우저를 멈추게 할 수 있다고 말해 줄 수 있습니까? 나는 event.preventDefault()
을 보았지만 성공하지 못했습니다. 이벤트 체인에서 어디서 어떻게 사용하는지 모르겠습니다.
감사합니다. 그러나 나는 이미 그것을 시도하고 그것이 작동하지 않는 것 같습니다. 브라우저가 document.ready() 이벤트를 실행하기 전에 마크 업을 "아래로"이동하기 때문이라고 생각합니다. – markedup