I believe your problem is the click event happens before the longpress can
occur, so it is always interpreted as a short press.  Here is my long press
code.

longPress: function (func) {
var el = this
el.on("touchstart mousedown", function (event) {
bg.longPressTimer = setTimeout(function () {
bg.longPressTimer = undefined
func(event)
}, 1000)
})
$(document).on("touchend mouseup", function (event) {
if (bg.longPressTimer)
clearTimeout(bg.longPressTimer)
bg.longPressTimer = undefined
})
},


On Tue, Apr 9, 2013 at 4:31 AM, Mar <[email protected]> wrote:

> Hi everybody!
>
> I'm making a Firefox OS app, and I would like to handle a long press to
> show a confirm dialog.
> I'm trying to do it by jquery event handlers, but it doesn't work.
> Does exist any Firefox OS function to do it? I need some help, please.
> Thanks in advance
> Regards, Mar.
>
> PD: My code is as follows:
> var longpress = false;
>     $(div).on('click', function () {
>         if(longpress){
>             console.log("Long press "+$(this).attr('idMessage'));
>         }else{
>             console.log("Short click "+$(this).attr('idMessage'));
>         }
>     });
>
>     var startTime=0, endTime;
>     $(div).on('mousedown', function () {
>         startTime = new Date().getTime();
>     });
>
>     $(div).on('mouseup', function () {
>         endTime = new Date().getTime();
>         longpress = (endTime - startTime < 500) ? false : true;
>     });
> ______________________________**_________________
> dev-webapps mailing list
> [email protected]
> https://lists.mozilla.org/**listinfo/dev-webapps<https://lists.mozilla.org/listinfo/dev-webapps>
>
_______________________________________________
dev-webapps mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-webapps

Reply via email to