2012-05-09 33 views
0

我正在使用mooTools,我需要在標籤上的單擊事件上調用函數TestA(),但這不起作用。我知道我可以通過$()。addEvent(...)附加事件做一個標籤,但我需要像波紋管一樣使用方法。window.addEvent()之外的調用函數 - mooTools

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

    function TestB(){} 

</script> 

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

回答

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> 
+0

這是不完全一樣的第二(現在接受)回答?唯一的區別是我在全局範圍內正確定義了TestA變量,而不是僅僅依靠解釋器來爲我做這件事。 – howard10

0

您需要使用種皮=功能() {}符號代替功能外種皮(){}

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

    function TestB(){} 

</script> 

<a href="#" onclick="TestA()">Test</a> 
相關問題