페이지 로드 시 이상하게 작동하는 Javascript onclick 함수
onclick 이벤트 리스너는 관련 요소를 클릭할 때만 실행되어야 합니다. 그러나 특정 시나리오에서는 페이지 로드 시 함수가 즉시 호출되어 클릭 이벤트가 무효화되는 것을 볼 수 있습니다.
이 문제는 onclick 속성을 setAttribute('onclick', secondFunction)으로 할당할 때 일반적으로 발생합니다. ()) 대신 setAttribute('onclick', secondFunction)을 사용합니다. 전자는 함수를 직접 실행하는 반면, 후자는 이를 이벤트 핸들러로 등록합니다.
올바른 사용법:
<code class="javascript">// Create a new element with an onclick event listener var sentNode = document.createElement('a'); sentNode.setAttribute('href', "#"); sentNode.setAttribute('onclick', secondFunction);</code>
잘못된 사용법:
<code class="javascript">// Immediately executes the function upon loading the page sentNode.setAttribute('onclick', secondFunction());</code>
핵심 구별 secondFunction에 추가된 괄호 안에 있습니다. 이를 생략함으로써 코드는 이벤트 핸들러를 함수에 대한 참조로 정의하여 요소를 클릭할 때 실행되도록 합니다. 반대로 괄호를 포함하면 함수가 즉시 실행됩니다.
이 올바른 사용법을 준수하면 onclick 이벤트가 의도한 대로 작동하여 호출될 관련 요소의 클릭을 기다립니다.
위 내용은 페이지 로드 시 신비한 Onclick 실행을 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!