Dojo 事件

1.滚动条:

            this.plotPointsTable.on("scroll", function (e) {

               e.scrollTarget.scrollLeft;

            });

2.click:

            this.plotPointsTable.on(".dgrid-cell:click", function (e) {

                return _this.onTableCellClicked(e);

            });

3.mousewheel

Dojo.on(canvas, 'mousewheel', function (event) {

             event.wheelDelta;

            }); 

 

4.contextmenu

            this.layoutsTree.on(".dgrid-cell:contextmenu", function (event) {

            //    return _this.onShowLayoutsContextMenu(event);

            });

5. mouseover  

     this.layoutsTree.on(".dgrid-cell:mouseover", function (event) {

                //return _this.onLayoutTreeMouseOver(event);

            });

6.touchstart

           this.layoutsTree.on(".dgrid-cell:touchstart", function (event) {

            });

7.touchend

            this.layoutsTree.on(".dgrid-cell:touchend", function (event) {

            });

 

 

require(['dojo/_base/kernel', 'dojo/query'], function(dojo, dom, $) {
	$('body').connect('mousemove', function(event) {
		
	});
	$('tag').on('click', function(event) {
		
	});
});

 

connect是dojo一个比较特殊的方法,他用于实现了对任意对象,实现事件注入(类似Qt框架的信号槽的机制),很多对象,类如dojo.Animate的事件绑定,也是经过此方法绑定。

 

 

stopEvent的方式:

require(['dojo/_base/kernel', 'dojo/query', 'dojo/_base/event'], function(dojo, $) {
	$('body').connect('mousemove', function(event) {
		dojo.stopEvent(event); // 是不是有点好像以前写JS原生的stop event呢?
	});
});

和jQuery不同,jQuery的事件只要return false即可,dojo需要额外引入 dojo/_base/event,并执行dojo.stopEvent(event),这让我想很早以前兼容IE和Firefox时候的写法,event = event || window.event。

你可能感兴趣的:(dojo)