Scripty2: как закрыть диалог - PullRequest
0 голосов
/ 22 января 2010

Я ищу способ закрыть диалоговое окно scripty2 следующим образом: http://mir.aculo.us/stuff/scripty2-ui/test/functional/controls_dialog.html

Из-за пределов диалога (то есть с командной строкой firebug), но мой javascript mojo немного ограничен и через 30 минутобходя DOM я не могу найти способ.Любые советы?

Примечание: scripty2 - это переписывание файла script.aculo.us, в котором используются биты пользовательского интерфейса Jquery.

Ответы [ 3 ]

0 голосов
/ 22 января 2010

Чтобы закрыть все диалоги (элементы с классом div.ui-dialog) на странице без идентификатора кода, было бы что-то вроде этого (не проверено):

$$('div.ui-dialog').each(function() {this.close();});
0 голосов
/ 22 января 2010

Биты пользовательского интерфейса Scripty2 действительно основаны на классах Prototype, а не на расширениях элементов DOM, поэтому вы не можете использовать $$ () для извлечения существующего диалога и его закрытия, как вы думаете. Он должен храниться в переменной JavaScript.

var dialog = new S2.UI.Dialog({ // The class must be saved in a 
variable 
  content: "Consulting the server. Please wait." 
}); 

dialog.open(); // We open 
new Ajax.Request('/answers', { 
  onComplete: function(){ 
    alert("Done!"); 
    dialog.close(); // And close. 
  } 
}); 

Попробуйте вставить их в Firebug:

var dialog = new S2.UI.Dialog({content: "Hello World"}); 
dialog.open(); 
dialog.close(); 
0 голосов
/ 22 января 2010

Это документация для диалогового окна: http://scripty2.com/doc/scripty2%20ui/s2/ui/dialog.html

...