From 8351f5496bf204ebefb20051a4c398a06b4856e7 Mon Sep 17 00:00:00 2001 From: Kin Blas Date: Wed, 15 Dec 2010 11:13:31 -0800 Subject: [PATCH] Turn off delayedClickEnabled by default for now. We need to work out some kinks. Modified sv-test-02.html so that you can dynamically turn on/off the delayedClick behavior. --- .../scrollview/jquery.mobile.scrollview.js | 14 +++++++++++--- experiments/scrollview/sv-test-02.html | 19 +++++++++++++++++-- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/experiments/scrollview/jquery.mobile.scrollview.js b/experiments/scrollview/jquery.mobile.scrollview.js index ddece23a..7dd7b17d 100644 --- a/experiments/scrollview/jquery.mobile.scrollview.js +++ b/experiments/scrollview/jquery.mobile.scrollview.js @@ -29,8 +29,8 @@ jQuery.widget( "mobile.scrollview", jQuery.mobile.widget, { showScrollBars: true, pagingEnabled: false, - delayedClickSelector: "a,input,textarea,select,.ui-btn", - delayedClickEnabled: true + delayedClickSelector: "a,input,textarea,select,button,.ui-btn", + delayedClickEnabled: false }, _makePositioned: function($ele) @@ -330,7 +330,15 @@ jQuery.widget( "mobile.scrollview", jQuery.mobile.widget, { this._lastMove = 0; this._enableTracking(); - e.preventDefault(); + // If we're using mouse events, we need to prevent the default + // behavior to suppress accidental selection of text, etc. We + // can't do this on touch devices because it will disable the + // generation of "click" events. + // + // XXX: We should test if this has an effect on links! - kin + + if (this.options.eventType == "mouse" || this.options.delayedClickEnabled) + e.preventDefault(); e.stopPropagation(); }, diff --git a/experiments/scrollview/sv-test-02.html b/experiments/scrollview/sv-test-02.html index d5f1ca5d..470835a1 100644 --- a/experiments/scrollview/sv-test-02.html +++ b/experiments/scrollview/sv-test-02.html @@ -46,13 +46,15 @@ $("[data-role=page]").live("pageshow", function(event) { $this.scrollview(opts); } }); + + changeDelayFormElementClick(); }); function changeScrollMethod() { var val = $("#s_method").val(); var $sv = $("#evtCatcher").scrollview("scrollTo", 0, 0); - if (val == "scroll") { + if (val === "scroll") { $sv.css("overflow", "scroll"); } else { @@ -61,6 +63,11 @@ function changeScrollMethod() $sv.data("scrollview").options.scrollMethod = val; } +function changeDelayFormElementClick() +{ + $("#evtCatcher").data("scrollview").options.delayedClickEnabled = ($("#s_delay").val() === "yes"); +} + var cb_hd_pd, cb_hd_sp, cb_hm_pd, @@ -132,13 +139,21 @@ $(function(){ +
+ + +
+
- +