Инициировать перетаскивание события touchmove

Привет, мне нужно вручную вызвать событие touchmove и вытащить элемент из счетчика на мобильном устройстве (телефонная связь, jquery-mobile)

$(elem).bind('touchstart', function(event) {
        event.preventDefault();                  
        var target = event.target;
        target = $(this);

        //this for example just changes the css position obviously
        target.css("margin-top", "50px"); 
});


elem.trigger('touchstart');

Есть ли способ настроить событие вручную и вызвать объект с таким событием?

var event = $.Event( "touchstart", { pageX:200, pageY:200 } );

Я использую this для перетаскивания, автор уже упоминал, что это невозможно сделать с помощью интерактивного js, и рекомендовал:

- вызывать обработчики перетаскивания и передавать им объекты событий, которые вы создаете, или - инициировать имитированные события указателя, чтобы интерактив воспринимал их как перетаскивание пользователем.

Есть идеи?


person mboeckle    schedule 09.06.2014    source источник


Ответы (1)


Разве вы не можете объявить функцию вне bind() и вызвать ее напрямую?

$(elem).bind('touchstart', handler);
function handler(event) {
    event.preventDefault();                  
    var target = $(event.target);

    //Do stuff with pageX and pageY
    target.css("margin-top", "50px"); 
}

handler({pageX:200, pageY:200, target:elem, preventDefault:function(){}});
person user1094553    schedule 09.06.2014
comment
Привет, это имеет тот же эффект, может быть, мне нужна комбинация touchstart, touchmove?! Как можно установить положение цели f.e x с помощью touchmove? Мне нужно одновременное перетаскивание.. - person mboeckle; 09.06.2014