1

我在文件中有一个函数。
<script type="text/javascript" src="domain.com/js/script.js"></script>

这只是头部的脚本:

$(function($){
   function testFunc(obj) {
      obj.hide();
   }
});

在 index.php 中:
<li onclick="testFunc(this)">text</li>

没有任何改变,浏览器(Chrome)说: Uncaught ReferenceError: testFuncis not defined

4

3 回答 3

5

您有范围问题,只需从document.ready块中删除该功能:

//$(function($){
    function testFunc(obj) {
       obj.hide();
    }
//});

当您在另一个函数内部定义一个函数时,它只会在该函数内部可见。

于 2013-01-10T19:25:25.657 回答
4

使用 jQuery 执行此操作的更好方法是:

$(function($){
    $('li').click(function(){
        $(this).hide();
    });
});

并删除您当前拥有的内联点击处理程序。

于 2013-01-10T19:31:24.900 回答
0

语法错误。将您的javascript(上面提到的)替换为

    function testFunc(obj) {
        $(obj).hide();
    }
于 2013-01-10T19:41:43.097 回答