我正在寫一個jQuery插件,用於鉤住滾動和拖動事件,並在相關事件觸發時將元素旋轉到指向另一個元素。基本上我的插件只是檢測事件,計算正確的角度,並使用第三方插件相應地旋轉元素。爲了更好的解釋,你可以看到demos of my plugin。Javascript:調用一個變量中定義的函數沒有eval
我不想強制使用某個旋轉插件,因此旋轉函數的名稱可能會有所不同。目前我正在使用eval來允許自定義函數名稱,但我想找到另一種方法來做到這一點。我試過Google搜索,但到目前爲止還沒有找到解決辦法。
那麼,有沒有辦法解決這個問題?旋轉功能的名稱存儲在settings.rotateFunction:
eval("$(this)." + settings.rotateFunction + "(angle)");
到目前爲止,我已經嘗試了「新功能(codeToEval)」的方法,但這種出於某種原因打破了使用$(本)。
謝謝,非常翔實的答案,完美的作品! – Schlaus 2013-02-17 21:01:48