별도의 js 파일에 작성하고, 로딩 문제를 방지하기 위해 window.onload=function(){}을 사용했습니다.
1. 본문에서 직접 코드를 삽입하면 작동합니다.
2. 사용할 수 없습니다. 파일에서 window.onload=function(){}을 삭제하면 사용할 수 있습니다.
3. 코드에 직접 삽입하든지 파일에 삽입하든 사용할 수 없습니다.
4. 콘솔은 오류를 보고하지 않으며 디버깅할 수 있습니다. 브라우저에서 이 js 파일을 찾으세요.
페이지 로딩에 문제가 있는 것 같습니다. 구체적인 문제가 무엇인지 알 수 없습니다. . .
코드 게시
js 코드는 이렇습니다
으아아아
먼저 제안하고 싶은 점은 파일 이름 지정에 한자를 포함하지 않는 것이 가장 좋으며 일반적으로 숫자로 시작하지 않는 것이 좋습니다.
문제 정보:
콘솔에 오류가 보고되지 않으며 디버거에서 js 파일을 찾을 수 있습니다.
:window.onload=function(){}을 사용하는 한 code>, js code 헤드에 넣어도, 본문에 넣어도, 파일 형태로 넣어도 안에 있는 코드는 반드시 실행됩니다.
控制台没报错且能在调试器中找到这个js文件
:只要你使用了window.onload=function(){}
,js代码是肯定执行的,不论你是放在head里面还是body里面,也不论你是不是以文件的形式引入的,里面的代码都会执行。从body里插入js文件,不能用;文件中删掉window.onload=function(){},能用
:html中的onclick="showPic(this)"
,这个showPic函数是定义在全局作用域下面的,不能用window.onload包裹,当你包裹的时候,showPic的作用域就处于onload这个函数里面了,在全局作用域下找不到showPic,所以点击时,showPic函数里面的代码没有执行
,其他的js代码是执行的,你看看a标签里面已经添加上了onclick等代码。写在head里,无论直接插入代码还是文件,都不能用
본문에서 js 파일을 삽입하지만 사용할 수 없습니다. 파일에서 window.onload=function(){}을 삭제하면 사용할 수 있습니다.
:onclick="showPic(this )"에서 이 showPic 함수는 전역 범위에 정의되어 있으며 window.onload로 래핑할 수 없습니다. 래핑하면 showPic의 범위가 onload 함수 내부에 있습니다. 전역 범위에서는 ShowPic을 찾을 수 없습니다. . 이므로 클릭하면 showPic
함수 안의 코드는 실행되지 않지만
다른 js 코드는 a 태그에 추가된 것을 볼 수 있습니다.는 헤드에 작성되어 코드에 직접 삽입하든 파일에 직접 삽입하든 사용할 수 없습니다.
: dom 쿼리의 경우 현재 dom 트리가 구축되지 않았으므로 a 태그를 사용할 수 없습니다. 질문했다. 헤드에 작성한 DOM 쿼리 js 코드는 window.onload로 래핑해야 하는데, showPic 함수를 추출해서 글로벌 스코프에 넣어야 정상적으로 실행될 수 있습니다.@张东东 정답은 맞지만, element.onclick 바인딩 이벤트 방식(댓글 달아주신 코드)을 사용하셨는데요, 이때 showPic 함수를 스코프 체인에서 찾을 수 있어서 실행이 가능합니다. @stephenhuang 온로드에 작성된 showPic 코드를 실행할 수 있나요?스크립트는 본문 아래에 위치해야 합니다
으아아아가장 먼저 알아야 할 사항은 다음과 같습니다.
html 파일은 하향식으로 실행되지만 도입된 CSS와 자바스크립트의 순서가 다릅니다. CSS를 도입하고 로드할 때 프로그램은 여전히 하향식으로 실행되며,