2016-03-09 2 views
1

Я недавно начал опробовать OnsenUI в качестве альтернативы JQuery для мобильного приложения и задавался вопросом, что эквивалентный способ соответствовать нажатию кнопки с действием. https://onsen.io/guide/overview.html#EventHandling, по-видимому, предполагает, что в разделе компонентов DOM-компонентов существует одинаковый способ.Кнопка OnsenUI DOM-события

Например, используя Jquery я хотел бы использовать это событие touchend, чтобы сделать что-то

На странице HTML я бы создать кнопку

<button id="button">Do this</button> 

И в app.js файл я бы связать что делают для

метода
$(document).on("touchend", "#button", function(e) { 
    e.preventDefault(); 
    //do some action 
    doSomething(); 
}); 

онсэн Trial

Снова создать кнопку и мы ИНГ обработчик OnClick

<ons-button modifier="material" onclick="doSomething()"> 
    Start      
</ons-button> 

doSomething() будучи связанным действием в пределах .js файла, после чего, однако, где он получает Hazey.

+0

Возможно, этот вопрос поможет http://stackoverflow.com/questions/24032225/how-to-set-click-event-for-button-in-onsen-ui никогда не использовать onsen-ui, но похоже, что он использует angularjs, так что посмотрите на контроллеры angularjs, где вы определите свою функцию 'doSomething()' –

+0

@ Will.Harris, отличный совет. Мне удалось с тех пор работать, и на самом деле это немного легче понять! Хотя это привело к еще большему вопросу, который я не ожидал, типичный ... – morrisstu

ответ

2

Onsen UI в качестве рамки не эквивалентен jQuery. Вы могли бы сравнить его с jQuery Mobile, если хотите. Таким образом, вы можете использовать Onsen UI и jQuery вместе без проблем. Я лично предпочитаю ванильный JavaScript вместо:

<ons-button id="myButton">Do this</ons-button> 

document.querySelector('#myButton').onclick = function(event) { 
    doSomething(); 
}; 

Или:

docment.addEventListener('click', function(event) { 
    if (event.target.id === 'myButton' 
    doSomething(); 
}); 

онсэн UI 2.0 не полагаться на AngularJS внутри больше, так что вам не нужно беспокоиться об этом.

+0

Спасибо за информацию Fran, я определенно буду помнить эти моменты. – morrisstu

Смежные вопросы