如何将EventEmitter2附加到div元素

时间:2016-01-24 01:28:38

标签: javascript

我是EventEmitter2的新手。我的理解是,如果你想听一个事件,你会这样做:

var EventEmitter2 = require('eventemitter2');
var server = new EventEmitter2();

server.on('touchend', test); // listen for event
server.emit('touchend'); // fire off event

function test() { console.log('hello'); }

我不明白的是如何将发射器连接到div?在我的.js文件中,我得到了div元素,并且我希望将一个监听器附加到该元素,因此我知道用户何时单击它。我正在寻找这样的事情:

someDIV.on('touchend', test)
function test() { console.log('hello'); }

1 个答案:

答案 0 :(得分:0)

您应该从浏览器获取真实事件并将其发送到服务器。 EventEmitter的含义是在脚本的逻辑部分中进行基于事件的通信。例如,您的程序通过ajax获取数据,并且您希望通过console.log()等方式获取通知;所以你做这样的事情:

server.on('gotAjax', function() {
   console.log(arguments);
});

//...far far at some other scope, where is only server from prev code is accessible ....
function DataRecveived(data) {
   render(data);
   server.emit('gotAjax', data); // I not remember if need to "new Event()" here

所以在你的情况下你应该做类似

的事情
someDIV.addEventListener('touchend', function() {
  server.emit('touchEnd');
});

或者,如果你需要通过你的div在服务器上使用touchend做一些事情:

server.on('touchend') {
   someDiv.classList.remove('touched');
}