괄호를 사용할 때 JavaScript onclick 함수가 조기에 트리거되는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2024-10-22 07:10:03
원래의
648명이 탐색했습니다.

Why Does JavaScript onclick Function Trigger Prematurely When Parentheses Are Used?

JavaScript onclick 함수가 너무 일찍 트리거되었습니다.

태그가 클릭 시 함수를 실행하도록 의도되었지만 사용자는 페이지 로드 시 함수가 잘못 호출되는 시나리오에 직면할 수 있습니다. 이는 원하는 클릭 이벤트가 올바르게 작동하는 것을 방해합니다.

일반적인 함정은 onclick 속성을 할당할 때 괄호를 부적절하게 사용하는 것입니다. 함수를 즉시 실행하는 sentNode.onclick = secondFunction() 대신 올바른 구문은 sentNode.onclick = secondFunction입니다. 이는 클릭 이벤트 시에만 실행되는 함수에 대한 참조를 할당합니다.

<code class="javascript">function startFunction() {
  var sentNode = document.createElement('a');
  sentNode.setAttribute('href', "#");
  sentNode.setAttribute('onclick', secondFunction);
  //sentNode.onclick = secondFunction();
  sentNode.innerHTML = "Sent Items";
  //...
}</code>
로그인 후 복사

괄호를 생략하면 onclick 이벤트가 실행 결과가 아닌 함수 참조에 올바르게 바인딩됩니다. 의도한 동작을 보장합니다.

위 내용은 괄호를 사용할 때 JavaScript onclick 함수가 조기에 트리거되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!