Re[2]: Повесить обработчик событий onClick на элемент
От: DmitryScaletta Беларусь  
Дата: 16.07.15 17:55
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Здравствуйте, DmitryScaletta, Вы писали:


DS>>Как мне на "my_div" повесить обработчик событий onClick?


CS>Все DOM событиия всплывают по цепочке контейнеров к окну поэтому если у тебя окно отнаследовано от sciter::event_handler то все DOM events туда приходят.

CS>Поэтому ты можешь написать нечто типа:
CS>
CS>bool my_window::on_event(HELEMENT he, HELEMENT target, BEHAVIOR_EVENTS type, UINT_PTR reason) {
CS>  if( type == BUTTON_CLICK && dom::element(target).test("#table > .my_div") )
CS>    on_my_div_clicked();
CS>}
CS>


Добавил в класс окна метод

bool on_event(HELEMENT he, HELEMENT target, BEHAVIOR_EVENTS type, UINT_PTR reason) {
    if (type == BUTTON_CLICK && sciter::dom::element(target).test("button#message"))
    {
        MessageBox(_hwnd, L"test", L"", 0);
    }
    return true;
}


Нажимаю на кнопку button#message.

Метод вызывается 2 раза.

Первый раз значение type — 32769, второй — 65537
А BUTTON_CLICK = 0

В итоге код не работает.

  screens
http://i.imgur.com/TvA1RrQ.png
http://i.imgur.com/fAKwQBO.png
Отредактировано 16.07.2015 18:00 DmitryScaletta . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.