Я делаю несколько плагинов Adobe Bridge (CS 5.1).
Моя проблема заключается в том, что я не могу понять, как обеспечить, чтобы соответствующие пункты меню были серыми, если пользователь не выбрал допустимые пункты длясценарий.
Я могу достичь желаемого состояния, кодируя что-то вроде
function greyOutMenu () {
var doc = application.document;
var these = [];
these = doc.selections;
menuItem.enabled = true;
if ( these.length < 1 ) {
menuItem.enabled = false;
return;
}
for ( var i in these ) {
if ( these[i] /* is invalid */ ) { menuItem.enabled = false;
return;
}
}
, но как мне заставить эту проверку запускаться непосредственно при открытии меню?Если я использую
myMenu.onSelect = greyOutMenu();
Он просто запускает проверку при запуске, а не при открытии меню!