触发touchmove事件拖放

时间:2014-06-09 09:04:09

标签: javascript jquery cordova drag-and-drop touchmove

您好我需要手动触发touchmove事件并将一个元素从移动设备上的计数器中拉出来(phonegap,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和推荐这样做:

- 调用拖放侦听器并为其创建或创建事件对象 - 触发模拟指针事件,以便交互将它们视为用户拖动。

任何想法?

1 个答案:

答案 0 :(得分:0)

你不能在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(){}});