2015-06-22 3 views
0

Я хотел бы найти способ запуска события с размером окна (тот, который был изменен при изменении размера вашего браузера) с использованием Dojo. Это позволит мне изменить размеры моих графиков C3.Событие изменения размера триггера с помощью dojo

Я нашел модуль on, позволяющий слушать и вызывать пользовательские события с функцией emit, так вот что я пробовал:

on.emit(win, 'resize', {bubbles: true, cancelable: true}); 

Где win является dojo/_base/window модулем, который я пытался использовать в качестве источника уволенное событие. Я также пробовал:

on.emit(win.body(), 'resize', {bubbles: true,cancelable: true}); 

Но ничего не работает, мои чарты не получают событие.

ответ

2

Используйте обычный объект окна:

on(window, 'resize', function() { console.log('resize!')}); 
on.emit(window, 'resize', {bubbles: true,cancelable: true}) 
+0

Спасибо, ваш совет помог мне. ... но в любом случае мне все еще интересно, какой родной объект Dojo следует использовать в таком случае? –

+0

Я не понимаю ваш вопрос. Нет никакого собственного объекта dojo, который вы могли бы использовать вместо 'window'. Вы хотите взаимодействовать с окном браузера, поэтому вы используете ключевое слово 'window'. Dojo не переопределяет стандартные объекты, доступные во всех браузерах. – ben

+0

... ах, я думал, что у Dojo есть некоторые обертки для глобальных объектов ... Хорошо, спасибо за разъяснение! –

0
 
define([ 
    "dojo/_base/declare", 
    "dijit/Viewport" 
], function(declare, Viewport) { 

    return declare("Som", [Viewport], { 
     onClick: function(){ 
      Viewport.emit("resize"); 
     } 
    }); 

}); 
Смежные вопросы