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 に答える