마크 업에서 일반 링크를 사용하는 AJAX 탐색 사이트 (코드는 CSS-Tricks)를 작성 중이지만 .js를 통한 해시 링크로 바꿉니다.정의 된 함수에서 클릭 한 링크를 어떻게 선택할 수 있습니까?
사용자가 동일한 콘텐츠를 방금 다시로드 할 링크를 클릭하지 못하도록하고 싶습니다. 홈 페이지 (첫 번째로드시)가 아닌 다른 페이지에서 해시를 사용하기 때문에이 문제는 스스로 해결됩니다 (사용자가 현재 URL 해시에 대한 해시 링크를 클릭하면 아무 일도 일어나지 않습니다).
필자는 이것을 (필자는 재사용해야하기 때문에) 함수로 정의 할 때까지 작동하는 해결책을 가졌습니다. 클릭 한 링크를 얻으려면 $ (this)를 사용하고 현재 페이지의 경우 false를 반환합니다. 그러나 이제는 클릭 된 링크가 아니라 배열 객체로 창을 반환합니다.
대신 클릭 한 링크를 어떻게 선택할 수 있습니까?
// Use hashes instead of reloads to navigate the site.
function initiateHashNav(linkContainers) {
var $this = $(this);
$(linkContainers).delegate('a', 'click', function() {
// Restrict clicking on link for current page.
if ($this.attr('href') == window.location.href) {
return false;
} else {
// The hash shouldn't contain window.location (clean URLs are happy URLs!).
window.location.hash = $this.attr('href').substr(window.location.origin.length);
return false;
}
});
}
가끔은 자신이 싫어. – curtisblackwell