2015-05-27 7 views
0

Я пытаюсь сделать свою визуализацию Mobile Compatible, однако я борюсь с событиями касания.D3.js От мыши до прикосновения Android

Из следующего примера, мне удалось получить слушатель событий работать, однако я не могу получить информацию о Div Double постучала Div (например, его ID): http://bl.ocks.org/jczaplew/7018691

С d3.js DblClick его просто потому, что это элемент с щелчком:

... 
.on("dblclick", doubleClickFunction); 
function doubleClickFunction(){ 
    var id = this.id; 
} 

Любые идеи о том, как я могу решить эту проблему?

ответ

0

В итоге я нашел ответ. В примере http://bl.ocks.org/jczaplew/7018691, есть функция Подсобная:

d3.selection.prototype.dblTap = function(callback) { 
    var last = 0; 
    return this.each(function() { 
    d3.select(this).on("touchstart", function(e) { 
     if ((d3.event.timeStamp - last) < 500) { 
      //Touched element 
      console.log(this); 
      return callback(e); 
     } 
     last = d3.event.timeStamp; 
    }); 
    }); 
} 

Если добавить console.log (это) на работающий код, вы увидите, что каждый раз, когда вы дважды нажмите что сам элемент записывается в журнале.

Я надеюсь, что это поможет кому-то в будущем.

+0

Есть ли способ определить положение (например, 'x',' y') двойного касания? Параметр 'e', переданный обратному вызову, всегда' undefined'. –

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