在window.addEvent() - mooTools之外调用函数

时间:2012-05-09 07:12:41

标签: javascript mootools

我正在使用mooTools,我需要在标签上的click事件上调用函数TestA(),但这不起作用。我知道我可以附加事件通过$()。addEvent(...)来做标记,但我需要使用类似下面的方法。

<script type='text/javascript'>
    window.addEvent('domready', function () {           
          function TestA(){}
      });

    function TestB(){}

</script>

<a href="#" onclick="TestA()">Test</a>

2 个答案:

答案 0 :(得分:1)

是否有任何理由只在DOM准备好时才定义TestA函数? TestA()无法工作的原因是因为它仅在定义为domready处理程序的函数范围内定义。

如果你真的需要按照你做事的方式去做,那么你需要将变量调整到该函数之外:

<script type='text/javascript'>

    var TestA;

    window.addEvent('domready', function () {           
        TestA = function(){}
    });

    function TestB(){}

</script>

<a href="#" onclick="TestA()">Test</a>

答案 1 :(得分:0)

您需要使用 TestA = function(){} 表示法而不是函数TestA(){}

<script type='text/javascript'>
    window.addEvent('domready', function () {           
          TestA = function (){}
      });

    function TestB(){}

</script>

<a href="#" onclick="TestA()">Test</a>