내 함수 호출에서 문제가 정확히 무엇인지 파악하는 데 어려움이 있습니다. Iv “e 사용되기 전에 내 호출을 정의하고 jquery에 대한 스크립트 참조 태그를 다른 모든 것 위에 배치하는 것과 같은 여러 가지를 시도했습니다. 작동하지 않는 것 같습니다.
test = function() {}; test();
내 코드는 다음과 같습니다.
<link rel="stylesheet" type="text/css" href="/sites/SPAPPS02/creditmemo/SiteAssets/Credit%20Memo.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> <script type="text/javascript"> $(document).ready(function() { ExecuteOrDelayUntilScriptLoaded(OnLoad, "sp.js"); function OnLoad() { $("#calc").click(function() { test(); }); } }); </script>
내 기능 별도의 파일에 있습니다.
function test() { console.log("Success!"); }
전체 오류 메시지는 다음과 같습니다.
Home.aspx:889 Uncaught ReferenceError: test is not defined at HTMLInputElement.<anonymous> (Home.aspx:889) at HTMLInputElement.dispatch (jquery.min.js:2) at HTMLInputElement.v.handle (jquery.min.js:2)
답변
실행 순서 문제인 것 같습니다. 테스트 함수를 포함하는 파일은 테스트 함수를 호출하는 인라인 JS보다 먼저 참조되어야합니다.