Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Double Tap not working in iPhone 5S Safari iOS #45

Closed
harbhub opened this issue May 13, 2014 · 6 comments
Closed

Double Tap not working in iPhone 5S Safari iOS #45

harbhub opened this issue May 13, 2014 · 6 comments
Assignees
Labels
bug The issue outlines a clear bug in the existing code which needs to be fixed now, or next release.

Comments

@harbhub
Copy link

harbhub commented May 13, 2014

Using JQuery version 1.10.2

Using jquery.mobile-events.min.js from this GitHub source

Using this code:
$(".list-group-item").on('doubletap', function (e) {
alert('double tap');
});

This works on the desktop / laptop by reporting when I double click (it alerts 'double tap')

This fails in the iPhone 5S when I double tap

@benmajor
Copy link
Owner

Thanks for the update. Are you linking to the code directly from GitHub, or did you download a copy and host locally?

Also, did this issue persist before the push yesterday was made?

Thanks,
Ben.

@benmajor benmajor self-assigned this May 14, 2014
@harbhub
Copy link
Author

harbhub commented May 14, 2014

Yesterday was my first time looking for the feature, and your solution was
one that I was trying out. So, I don't know if things worked before the
latest update (unfortunately). I copied the JavaScript code from the
minified file and hosted it locally; it was loaded after jquery, so that is
not the issue.

I do have a simple solution that works for double tap that I found (it was
the only touch event that I need for the time being):

(function ($) {
$.fn.doubleTap = function (doubleTapCallback) {
return this.each(function () {
var elm = this;
var lastTap = 0;
$(elm).bind('vmousedown', function (e) {
var now = (new Date()).valueOf();
var diff = (now - lastTap);
lastTap = now;
if (diff < 450) {
if ($.isFunction(doubleTapCallback)) {
doubleTapCallback.call(elm);
};
};
});
});
};
})(jQuery);

//How to use (includes double clicking event listener because I wanted both
double tapping and double clicking to have the same effect
var listItemLiked = function (elem) {
//Do something on double click / double tap
};
$(".list-group-item").on('dblclick', function (e) {
alert("Double Clicked");
var elem = this;
listItemLiked(elem);
});
$(".list-group-item").doubleTap(function () {
alert("Double Tapped");
var elem = this;
listItemLiked(elem);
});

On Wed, May 14, 2014 at 4:43 AM, Ben Major notifications@github.com wrote:

Thanks for the update. Are you linking to the code directly from GitHub,
or did you download a copy and host locally?

Also, did this issue persist before the push yesterday was made?

Thanks,
Ben.


Reply to this email directly or view it on GitHubhttps://github.com//issues/45#issuecomment-43056192
.

@harbhub
Copy link
Author

harbhub commented May 14, 2014

you can adjust the dif to whatever number of milliseconds that you want. I
found that 450ms worked decently well, but I will play with other numbers
to optimize it.

On Wed, May 14, 2014 at 9:24 AM, Michael Harbach harbhub@gmail.com wrote:

Yesterday was my first time looking for the feature, and your solution was
one that I was trying out. So, I don't know if things worked before the
latest update (unfortunately). I copied the JavaScript code from the
minified file and hosted it locally; it was loaded after jquery, so that is
not the issue.

I do have a simple solution that works for double tap that I found (it was
the only touch event that I need for the time being):

(function ($) {
$.fn.doubleTap = function (doubleTapCallback) {
return this.each(function () {
var elm = this;
var lastTap = 0;
$(elm).bind('vmousedown', function (e) {
var now = (new Date()).valueOf();
var diff = (now - lastTap);
lastTap = now;
if (diff < 450) {
if ($.isFunction(doubleTapCallback)) {
doubleTapCallback.call(elm);
};
};
});
});
};
})(jQuery);

//How to use (includes double clicking event listener because I wanted
both double tapping and double clicking to have the same effect
var listItemLiked = function (elem) {
//Do something on double click / double tap
};
$(".list-group-item").on('dblclick', function (e) {
alert("Double Clicked");
var elem = this;
listItemLiked(elem);
});
$(".list-group-item").doubleTap(function () {
alert("Double Tapped");
var elem = this;
listItemLiked(elem);
});

On Wed, May 14, 2014 at 4:43 AM, Ben Major notifications@github.comwrote:

Thanks for the update. Are you linking to the code directly from GitHub,
or did you download a copy and host locally?

Also, did this issue persist before the push yesterday was made?

Thanks,
Ben.


Reply to this email directly or view it on GitHubhttps://github.com//issues/45#issuecomment-43056192
.

@benmajor
Copy link
Owner

I've just updated the repository and it seems to have solved this issue for me.

Thanks,
Ben.

@yairEO
Copy link

yairEO commented May 27, 2014

Doesn't work. Tried RIGHT NOW, both implemented your code, and tried on your own demo webpage. I have iPad3 iOS6.

@benmajor benmajor reopened this May 28, 2014
@benmajor benmajor added the bug label May 28, 2014
@benmajor
Copy link
Owner

The latest push now fixes this issue.

Thanks,
Ben.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug The issue outlines a clear bug in the existing code which needs to be fixed now, or next release.
Projects
None yet
Development

No branches or pull requests

3 participants