jquery.ui.sortable で jayq を使用して、ページ上のリストをソート可能にしようとしています。http://jqueryui.com/demos/sortable/を見ると、次のように単純なはずです。
(.sortable ($ :#sortable))
コンパイルすると次のようになります。
jayq.core.$.call(null, "\ufdd0'#sortable").sortable();
そしてスローします:
Uncaught TypeError: Cannot call method 'call' of undefined
ページに含めようとすると。興味深いことに、生成されたコードを js コンソールに貼り付けると、そのページで機能します。これは、その行が実行された後に必要なものが読み込まれることを意味します。
修正しました
(def cljs-options {:advanced {:externs ["externs/jquery.js"]}})
に
(def cljs-options {:advanced {:externs ["externs/jquery.js" "js/ui/jquery-ui.js]}})
http://lukevanderhart.com/2011/09/30/using-javascript-and-clojurescript.htmlを読んだ後 、これでは十分ではないようです。jquery.ui が $ Prototype を変更すると推測していますが、clojurescript でこれを達成する方法がわかりません
違いがあれば、私は noir と noir-cljs も使用しています。
クロージャ コンパイラで jQueryUI を使用する場合 、jquery-ui を使用するには手巻きの externs ファイルが必要なだけかもしれません。これはおそらく大きな仕事です。誰でも確認できますか?