>  기사  >  백엔드 개발  >  태그가 js 메소드를 호출할 수 없는 문제

태그가 js 메소드를 호출할 수 없는 문제

一个新手
一个新手원래의
2017-09-13 09:44:342129검색

백그라운드 삭제를 할 때 태그 삭제를 클릭하면 친절한 안내창이 뜨길 바라요! 예:

코드는 어떻게 작성해야 하나요? 이와 같이?


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script>
        window.onload=function () {            
            function confirmdelete(id) {                
                return  window.confirm("你确定要删除吗?");
            }
        }    
   </script>
</head>
<body>

</body>
<?php   
echo "<a onclick=&#39;confirmdelete(2)&#39;>删除</a>";?>

다음과 같은 오류가 발생합니다.

기능이 사용되지 않습니까? 그러면 안 되는데, 이미 PHP에서 호출하지 않았나요?

참고:

이 메서드는 페이지가 완전히 로드된 후에 실행된다는 것을 알아야 합니다. 그러면 php의 실행 순서가 js보다 먼저이므로 php가 실행될 때 문제가 발생합니다. 현재 js가 실행되지 않았기 때문에 a 태그의 메서드가 존재하지 않아 js를 호출할 때 PHP a 태그가 응답하지 않는 것을 발견했습니다.

그럼 코드는 이렇게 되는건가요?


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script>            
        function confirmdelete(id) {                
        return  window.confirm("你确定要删除吗?");
            }    
   </script>
</head>
<body>
</body>
<?php   
echo "<a onclick=&#39;return confirmdelete(2)&#39;>删除</a>";?>

결과는 성공적인 실행! 혹자는 php의 실행 순서가 js보다 선행되어야 한다고 하지 않았나요?

그러면 이 순간 주의해야 합니다. window.onload 메서드 제약 조건이 끝나면 js가 마지막으로 실행됩니다. 그런 다음 이 제약 조건을 제거하면 이 함수

가 js에서는 단지 명령문이라는 것을 알 수 있습니다. 그냥 문장 함수일 뿐인데 먼저 컴파일이 되기 때문에 이때 php의 a 태그가 실행되면 호출하려는 함수가 미리 컴파일되어 있기 때문에 호출이 가능합니다.

위 내용은 태그가 js 메소드를 호출할 수 없는 문제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.