我正在编写一个 jQuery 插件,它钩住滚动和拖动事件,并在触发相关事件时旋转一个元素以指向另一个元素。基本上我的插件只是检测事件,计算正确的角度,并使用第三方插件相应地旋转元素。为了更好的解释,您可以查看我的插件的演示。
我不想强制使用某个旋转插件,所以旋转函数的名称可能会有所不同。目前我正在使用 eval 来允许自定义函数名称,但我想找到另一种方法来做到这一点。我试过谷歌搜索,但到目前为止还没有找到解决方案。
那么,有没有办法解决这个问题?旋转函数的名称存储在 settings.rotateFunction 中:
eval("$(this)." + settings.rotateFunction + "(angle)");
到目前为止,我已经尝试过“new Function(codeToEval)”方法,但是由于某种原因,这破坏了 $(this) 的使用。