Как различить одиночный и двойной щелчок - PullRequest
1 голос
/ 21 апреля 2011

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

initMouseHandling:function(){
                    var dragged = null, 
                    _mouseP,
                    selected,
                    nearest = null,
                    show = true,
                    num_console = 0,
                    timeout,
                    clicks,
                    delay = 500;


var handler =  {



single_double_click: function (element, clicked, double_click, timeout) {

$(element).observe('click', function (event) {
    ++clicks;
    if (clicks === 1) {
        var timeoutCallback = function (event) {
            if (clicks === 1) {
                clicked.call(this, event);
            } else {
                double_click.call(this, event);
            }
            clicks = 0;
        };
        timeoutCallback.bind(this, event).delay(timeout / 1000);
    }
}.bind(this));
return false;
},

clicked:function(e){
...
},
dragged:function(e){
...
},
dropped:function(e){
...
},
over_edge:function(e){
...
},
over_node:function(e){
...
},
double_click:function(e){
...
}}

canvas.mousemove(handler.over_node);
canvas.mousemove(handler.over_edge);
canvas.mousedown(handler.single_double_click);
//canvas.mousedown(handler.clicked);
//canvas.dblclick(handler.double_click);
}

В нем говорится «Uncaught TypeError: Object [object Object] не имеет метода наблюдения», независимо от использования $(холст) или $ (окно), как я видел в других местах ...

Я не знаю, должен ли я представлять обработчики в качестве параметров или нет, почему я не могу использовать "наблюдение" и еслидля случая, подобного моему, я должен назвать своих обработчиков так:

clicked.call(this, event);
double_click.call(this, event);           

Есть предложения?

1 Ответ

0 голосов
/ 20 апреля 2012

Вы смотрели в jQuery dblclick ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...