Я написал код для простой кнопки - [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");
}
В этом коде, если я запускаю сценарий после эффектов, нажатие кнопки выполняется автоматически в первый раз, а затем ничего не делает, когда я нажимаю на нее. Почему это не работает?
тогда что, если я хочу добавить функцию button.onclick, которая должна принимать некоторые параметры? Как button1.onClick = Щелкните (x, y,) здесь.
В любом случае, сначала параметры должны быть объявлены в объявлении функции e.x. function Click(parameters...). Теперь для e.x. в среде браузера вы можете объявить в качестве параметра объект события как: function Click(event), и из события вы можете получить доступ к координатам x, y мыши, элементу, по которому был выполнен щелчок, и т. д. Теперь в вашем случае я не знаю, что именно вам нужно сделать, поэтому я не могу сделать предложение.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Это работает:
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 (); }
Я не знаю о сценариях после эффектов, но, поскольку это javascript, я думаю, что ошибка в том, что когда вы назначаете функцию Click (), вы используете скобки, поэтому это похоже на вызов функции вместо ее назначения. Вы должны сделать это, возможно,
Button1.onClick = Click;