0

言うことができますか、私が持っているリンクは次のようになります

<a href="something/" class="something" data-callback="thisFunction">
<a href="something/" class="something" data-callback="thatFunction">
<a href="something/" class="something" data-callback="anotherFunction">
<a href="something/" class="something" data-callback="">

<script>
     $('.something').click(function(e)
     {
        e.preventDefault();
        var cb = $(this).data('callback');
        if(cb !== undefined && cb !== null && cb !== '')
        {
           //somehow use cb as a means to call another function
           //similar in effect to calling "thatFunction();"
        }
     });
    function thisFunction()
    {
       //code
    }
    function thatFunction()
    {
       //code
    }
    function anotherFunction()
    {
       //code
    }
</script>

可能であれば、それを機能させるにはどうすればよいでしょうか。また、そのタイプの呼び出しの実際の参照は何ですか。それを行うために呼び出されるメソッドは何ですか。将来忘れたら、メソッドが何であるかを覚えていることを願っています。と呼ばれ、私はそれを調べることができます。

4

2 に答える 2

3

以下を使用できます。

window[cb]();

または、安全な側にいるために:

typeof window[cb] === "function" && window[cb]();
于 2013-01-22T21:05:12.957 に答える
0

あなたの例では、このコールバック関数を window オブジェクトから呼び出すことができます。ウィンドウ[cb]のようなもの。しかし、このような種類のグローバル関数を割り当てるのは良い習慣ではありません。コールバックを何らかのオブジェクトでラップすることをお勧めします。

于 2013-01-22T21:09:59.080 に答える