1
<p onclick="play()">abc</p>

js

 function play(){
    do something; 
 }

如果 js 代码与p

但是说:

<script src="index.js"></script>

index.js

$(document).ready( function() {
     function play() {
        do something; 
     }
});

我得到的是ReferenceError: play is not defined

其他功能,除了play()运行良好。

4

3 回答 3

4
$(document).ready(function(){
  function play(){
        do something; 
     }
});

play() 函数local$(document).ready(function(){global

不要将你的 play 函数包裹起来$(document).ready(function(){ 以保持它的作用域 global 。

function play(){
    do something; 
}

阅读全局、本地和私有函数 (Javascript)

以及JavaScript 中变量的范围是什么?

于 2013-10-15T07:48:32.250 回答
3

这是由于范围。

play()在该级别不可见,因为它被包装在您的$(document).ready函数中。

于 2013-10-15T07:48:14.500 回答
1

无需放入$(document).ready( function() {..}

index.js只需在您的as中提及它

function play(){
  do something; 
}

消除$(document).ready( function() {

于 2013-10-15T07:49:19.323 回答