응답을 보내기 전에 처리하는 데 몇 초가 걸리는 링크가 몇 개 있습니다. 따라서 표시 아이콘을 구현하고 싶습니다.링크 (앵커 태그)에서 "클릭 가능성"제거
<a href="/foo"><img src="icon.png" /></a>
그것은 레거시 응용 프로그램, 그리고 코드가 이미 엉망이다, 그래서 난 마음과 인라인 이벤트 핸들러를 사용하지 마십시오 : 여기 내 출발점 또한
<a href="/foo"><img src="icon.png" onclick="indicate(this)" /></a>
을 더 JS는 프로그래머 없다 프레임 워크가 묶여 있습니다. 다른 메 커닉을 사용하여 이벤트 핸들러를 적용 할 수는 있지만 해결하려고하는 문제는 변경되지 않습니다.
백엔드 처리는 많은 리소스를 소비하므로 사용자가 여러 번 클릭하지 못하도록하고 싶습니다. 첫 번째 클릭시 href 속성을 제거하려고했습니다. 요청을 보낸 후 href가 올바르게 제거 된 시간 초과를 사용하여 firefox와 IE9에서 링크를 다시 클릭 할 수 있습니다. 여기
는 표시() 함수입니다 :
function indicate(e) {
if (indicator.ref.nodeName) indicateStop();
// save state
indicator.ref = e;
indicator.orig.href = indicator.ref.parentNode.href;
indicator.orig.src = indicator.ref.src;
// replace icon
indicator.ref.src = indicator.src;
// remove href
setTimeout(function(){ indicator.ref.parentNode.removeAttribute("href"); }, 20);
}
그래서, 어떻게 그것을 클릭하여 링크 (앵커)에서 "클릭 가능"을 제거 할 수있는 질문? 이 코드
클릭 이벤트 처리기에서 false를 반환 해 보셨습니까? 그게 내가해야 할 일이야. – ldionmarcil
기본 이벤트 ['event.preventDefault'] (https://developer.mozilla.org/en-US/docs/DOM/event.preventDefault)를 비활성화하고 직접 처리하십시오 (커서 모양을' 링크를 비활성화 할 때 '기본'으로 설정). – steveax
@steveax 그렇다면 앵커 타겟 조회를 직접 처리해야한다는 의미입니까? - 또한 커서가 이미 바뀌었고 두 번째 클릭시 href가 더 이상 설정되지 않았습니다. – codecab