Элемент кнопки сценария After Effects onclick

Я написал код для простой кнопки - [onclick]. Я хочу знать, что это правильный путь или почему это не работает так, как я это написал ??

function main(thisObj) {
    function windowCreate(thisObj) {

        var mainWindow = (thisObj instanceof Panel) ? thisObj : new 
        Window("palette", "", [100, 100, 300, 280]);//

        var groupOne = mainWindow.add ("group", [0,0,310,210], "Positions");
        groupOne.orientation = "row";

        Button1 = groupOne.add("button",[10,10,100,40],"P_0:0");


        return mainWindow;
    }

    var Window1 = windowCreate (thisObj);
    if ((Window1 != null) && (Window1 instanceof Window)) {
        Window1.center();
        Window1.show();
        }
    }
    main(this);
        }
    Button1.onclick = Click();

    function Click(){
            alert("Button 1 clicked");
        }

В этом коде, если я запускаю сценарий после эффектов, нажатие кнопки выполняется автоматически в первый раз, а затем ничего не делает, когда я нажимаю на нее. Почему это не работает?

Я не знаю о сценариях после эффектов, но, поскольку это javascript, я думаю, что ошибка в том, что когда вы назначаете функцию Click (), вы используете скобки, поэтому это похоже на вызов функции вместо ее назначения. Вы должны сделать это, возможно, Button1.onClick = Click;

gijoe 10.09.2018 21:31

тогда что, если я хочу добавить функцию button.onclick, которая должна принимать некоторые параметры? Как button1.onClick = Щелкните (x, y,) здесь.

KarMart 11.09.2018 22:06

В любом случае, сначала параметры должны быть объявлены в объявлении функции e.x. function Click(parameters...). Теперь для e.x. в среде браузера вы можете объявить в качестве параметра объект события как: function Click(event), и из события вы можете получить доступ к координатам x, y мыши, элементу, по которому был выполнен щелчок, и т. д. Теперь в вашем случае я не знаю, что именно вам нужно сделать, поэтому я не могу сделать предложение.

gijoe 12.09.2018 07:54
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
1 021
1

Ответы 1

Это работает:

function windowCreate() {
    mainWindow.groupOne = mainWindow.add ("group", [0,0,310,210], "Positions");
    mainWindow.groupOne.orientation = "row";

    mainWindow.Button1 = mainWindow.groupOne.add("button",[10,10,100,40],"P_0:0");
    mainWindow.Button1.onClick = function() { Click(); };
    return mainWindow;
}


function Click(){
    alert("Button 1 clicked");
}

var mainWindow = new Window("palette", "", [100, 100, 300, 280]);//
var Window1 = windowCreate();
if ((Window1 != null) && (Window1 instanceof Window)) {
Window1.center();
Window1.show();
}

Я использую CC 2014.

Спасибо. Кажется, нам нужно вызвать функцию в button.onClick () = function () {"здесь" someFunction (); }

KarMart 14.09.2018 00:00

Другие вопросы по теме