2012-03-02 132 views
0

在YUI上找到了一些機會,並在使用YUI 3沙箱方法有用的特定實現中使用YQuery tool來加載jQuery。來自YUI沙箱外部的調用函數

但是,我正在努力弄清楚我如何訪問YQuery沙盒中定義的jQuery函數/變量。

請參閱以下內容:

<script type="text/javascript"> 
    YUI().use('gallery-yquery', function(Y) { 
     var jq = Y.YQuery(); 
     jq.version = '1.7.1'; 
     jq.use(function() { 
      $.someFunc = function() { 
       // Some Jquery actions 
      } 
     }); 
    }); 
</script> 

... 

<input type="button" onclick="$.someFunc();" value="someTest"/> 

有沒有一種方法,我可以在 「$ .someFunc」 如按鈕得到什麼?

請注意,這個例子恰好是YQuery,問題是在YUI「沙箱」內定義的函數/變量是否可以在同一頁面上從外部訪問。

+0

http://stackoverflow.com/questions/3019805/how-do-i-call-a-basic-yui3-function-from-within-a-normal-javascript功能 – c69 2012-03-02 22:42:27

回答

1

使用use()方法的返回值,而不指定回調函數作爲最後一個參數。 我想如果使用YUI動態加載器,可能會遇到併發問題,因爲您無法檢測到給定實例何時加載並準備好了所有需要的依賴項。

var foo = YUI().use("yui", "event"); 
alert(foo.guid()); 
alert(foo.Event.generateId(document.body)); 

通過:yuilibrary

+0

我現在可以看到爲什麼YUI有一個太複雜的代表。我需要重新思考如何使用它。感謝您的答案和鏈接。 – Dayo 2012-03-03 06:07:37

0

也許,只是jQuery.someFunc()

+0

沒有。那不是。 – Dayo 2012-03-02 22:19:15