Пользовательский интерфейс jQuery без HTML - PullRequest
13 голосов
/ 24 июля 2010

Есть ли проект (с открытым исходным кодом), который принимает виджеты и плагины для jQuery UI , но позволяет нам использовать их без настройки какого-либо HTML?

Вроде как Ext-js и Sproutcore , но без случайной сложности и недостатка текучести, и больше похоже на Cappuccino , но без использования Mac и ужасного времени загрузки из Objective-j (который также не имеет поддержки IDE).Кроме того, больше похоже на Ukijs , но с большим количеством виджетов.И вроде как Пижама и GWT , но без отсутствия виджетов, этапа предварительной компиляции и / или Java.Например:

uki({
  view: "Button", text: "Hello world!",
  rect: "120 80 180 24",
  click: function() { alert(this.text());
}).attachTo( document.getElementById("test") );

Причина, по которой я беру jQuery, заключается в том, что это единственная веб-инфраструктура, которая поддерживает все 30 основных элементов управления (дано с достаточно плагинов ).

Ответы [ 6 ]

2 голосов
/ 06 августа 2010

Посмотрим, пойму ли я вопрос.Вместо

<script>
  $(function(){
    $('a').button();
  });
</script>
<body>
  <button id="foo">Foo</button>
  <button id="bar">Bar</button>
</body>

Вы хотите

<script>
  $(function(){
    $('body').append($('<button>').attr('{ id: "foo" }').html('Foo').button());
    $('body').append($('<button id="bar">Bar</button>').button());
  });
</script>
<body>
</body>

Это соответствует вашим потребностям?В конце дня вам все равно нужно будет указать детали кнопки (куда она идет, ее текст, что происходит, когда вы нажимаете на нее) независимо от синтаксиса.

1 голос
/ 27 октября 2011

Вы должны взглянуть на Google Closure:

http://code.google.com/closure/

На мой взгляд, это именно то, что вы просите.

1 голос
/ 10 августа 2010

Я не думаю, что подходящий DSL в данный момент существует, самая близкая вещь, о которой я могу подумать, это CoffeeScript

http://jashkenas.github.com/coffee-script/

Это также было бы хорошей отправной точкой для построенияс.

1 голос
/ 09 августа 2010

DHTMLX аналогичен ExtJS, который, к сожалению, включает в себя некоторые недостатки.

0 голосов
/ 12 августа 2010

Как указал "Mr. Shiny and New", будет работать следующий код:

$('body').append($('<button>').attr('{ id: "foo" }').html('Foo').button());

Однако стиль, который вы ищете, можно получить с помощью функции appendTo ():

$('<button id="foo"></button>')
    .button({
        label: "Hello world!",
    }).click(function () {
        //doSomething

    }).appendTo('#test');

Кроме того, приведенный выше код возвращает объект «кнопка», который позволяет назначить объект переменной для последующего повторного использования:

// set up the button
var a = $('<button/>').button({
    label: 'Hello world!'
}).offset({
    top: 80,
    left: 120
}).width(180).height(24)
.click(function () {
    // dosomething
}).appendTo('body');

// hide then show and rename (if it takes your fancy)
a.hide(300, function () {
    a.show(300, function () {
        a.button( "option" , {
            label: 'Hello to the world again!'
        });
    });
});
0 голосов
/ 24 июля 2010

Что мешает вам сейчас использовать JavaScript и пользовательский интерфейс jQuery?

Насколько мне известно, загрузка веб-страницы в веб-браузере текущего поколения требует (X) HTML-документа, ноничто не мешает вам сделать этот документ заглушкой и построить приложение полностью на JavaScript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...