Я пишу плагин jQuery, который перехватывает, чтобы прокручивать и перетаскивать события, и поворачивает элемент для указания на другой элемент, когда инициируется соответствующее событие. В основном мой плагин просто определяет события, вычисляет правильный угол и соответственно поворачивает элемент, используя сторонний плагин. Для лучшего объяснения вы можете увидеть demos of my plugin.Javascript: вызов функции, определенной в переменной без eval
Я не хочу использовать определенный плагин вращения, поэтому имя функции вращения может отличаться. На данный момент я использую eval для создания имен пользовательских функций, но я хотел бы найти другой способ сделать это. Я пробовал поиск в Интернете, но пока не нашел решения.
Итак, есть ли способ обойти это? Имя функции вращения хранится в settings.rotateFunction:
eval("$(this)." + settings.rotateFunction + "(angle)");
До сих пор я пытался «новая функция (codeToEval)» метод, но по какой-то причине нарушается использование $ (это).
Спасибо, очень информативный ответ, который отлично работает! – Schlaus