onclick 메서드에서 기본값을 방지하는 방법은 무엇입니까? 사용자 지정 값도 전달하는 방법이 있습니다.
<a href="#" onclick="callmymethod(24)">Call</a>
function callmymethod(myVal){
//doing custom things with myVal
//here I want to prevent default
}
답변
콜백을 반환 false
하고 onclick
핸들러 에 전달 합니다.
<a href="#" onclick="return callmymethod(24)">Call</a>
function callmymethod(myVal){
//doing custom things with myVal
//here I want to prevent default
return false;
}
그러나 유지 보수 가능한 코드 를 생성하려면 “인라인 자바 스크립트” (예 : 요소의 태그 내에 직접있는 코드)를 사용하지 말고 포함 된 자바 스크립트 소스 파일 ( 눈에 잘 띄지 않는 자바 스크립트 라고 함 )을 통해 요소의 동작을 수정해야합니다 .
마크 업 :
<a href="#" id="myAnchor">Call</a>
코드 (별도 파일) :
// Code example using Prototype JS API
$('myAnchor').observe('click', function(event) {
Event.stop(event); // suppress default click behavior, cancel the event
/* your onclick code goes here */
});
답변
제 생각에는 대답이 틀 렸습니다! 그는 event.preventDefault();
당신이 단순히 거짓을 반환 할 때를 물었습니다 . event.preventDefault();
AND event.stopPropagation();
도 호출 합니다!
다음과 같이 해결할 수 있습니다.
<a href="#" onclick="callmymethod(event, 24)">Call</a>
function callmymethod(e, myVal){
//doing custom things with myVal
//here I want to prevent default
e = e || window.event;
e.preventDefault();
}
답변
이것을 시도하십시오 (그러나 정상적인 저하에href
대한 유효한 값 이없는 경우 이러한 경우 버튼을 사용하십시오 )
<a href="#" onclick="callmymethod(24); return false;">Call</a>
답변
이벤트를 포착 한 다음 preventDefault ()로 차단할 수 있습니다-순수 자바 스크립트에서 작동합니다.
document.getElementById("xyz").addEventListener('click', function(event){
event.preventDefault();
console.log(this.getAttribute("href"));
/* Do some other things*/
});
답변
href 태그의 “#”대신 “javascript : void (0)”를 넣으세요.
<a href="javascript:void(0);" onclick="callmymethod(24)">Call</a>
답변
이것은 나를 위해 일했습니다.
<a href="javascript:;" onclick="callmymethod(24); return false;">Call</a>