嘗試使用komodo來構建一個jQuery UI部件..我啓用了jquery api引用,並在.html文件中工作得很好。然後打開我的widget.js文件並輸入;jquery支持在html中工作,但不在.js中?
(function($) {
其次
$.
我會希望獲得智能這裏,而是我得到:
沒有找到落成。 (確定完成的錯誤)
這是一個文件擴展名的東西嗎? jquery ui小部件只是不受支持?
嘗試使用komodo來構建一個jQuery UI部件..我啓用了jquery api引用,並在.html文件中工作得很好。然後打開我的widget.js文件並輸入;jquery支持在html中工作,但不在.js中?
(function($) {
其次
$.
我會希望獲得智能這裏,而是我得到:
沒有找到落成。 (確定完成的錯誤)
這是一個文件擴展名的東西嗎? jquery ui小部件只是不受支持?
該觀點是問題所在。沒有它:
(function()
{
$. //works
jQuery. //works
...
}
);
Komodo知道全局變量$和jQuery。本地範圍優先,所以$變成未定義的。相反,如果你通過jQuery代替,$可以工作,但jQuery不會:
(function(jQuery)
{
$. //works
jQuery. //does not
...
}
);
有道理,但打破了jquery ui小工廠,不是嗎? – XeroxDucati
$ === jQuery,那麼將通過犧牲jQuery自動完成來保存工廠,就像在第二個代碼示例中一樣? –
從科莫多傢伙,
的問題是,科莫多不知道匿名 函數調用的情況下 - 換句話說科莫多是不夠聰明,知道在這種情況下 「jQuery的」 ==「$」。
但是所有的東西都不會丟失,你可以通過告訴它在這種情況下 類型來幫助科莫多。下面是一個使用jsDoc幫助 定義 「$」 的類型,例如:
(/** @param {jQuery} $ */function($) { $. // will show jQuery completions now })(jQuery)
;
在進一步挖掘中,似乎問題在於.js文件沒有以任何方式引用jquery,所以它沒有添加到intellisense ..不知道如何解決這個不幸.. – XeroxDucati