diff --git a/experiments/scrollview/jquery.mobile.scrollview.js b/experiments/scrollview/jquery.mobile.scrollview.js index 7dd7b17d..df465fe4 100644 --- a/experiments/scrollview/jquery.mobile.scrollview.js +++ b/experiments/scrollview/jquery.mobile.scrollview.js @@ -30,7 +30,7 @@ jQuery.widget( "mobile.scrollview", jQuery.mobile.widget, { pagingEnabled: false, delayedClickSelector: "a,input,textarea,select,button,.ui-btn", - delayedClickEnabled: false + delayedClickEnabled: true }, _makePositioned: function($ele) @@ -284,8 +284,9 @@ jQuery.widget( "mobile.scrollview", jQuery.mobile.widget, { var c = this._$clip; var v = this._$view; - if (this.options.delayedClickEnabled) + if (this.options.delayedClickEnabled) { this._$clickEle = $(e.target).closest(this.options.delayedClickSelector); + } this._lastX = ex; this._lastY = ey; this._doSnapBackX = false; @@ -512,8 +513,12 @@ jQuery.widget( "mobile.scrollview", jQuery.mobile.widget, { this._disableTracking(); - if (this.options.delayedClickEnabled && !this._didDrag) { - this._$clickEle.click(); + if (!this._didDrag && this.options.delayedClickEnabled && this._$clickEle.length) { + this._$clickEle + .trigger("mousedown") + //.trigger("focus") + .trigger("mouseup") + .trigger("click"); } // If a view scrolled, then we need to absorb diff --git a/experiments/scrollview/sv-test-02.html b/experiments/scrollview/sv-test-02.html index 470835a1..4d70d845 100644 --- a/experiments/scrollview/sv-test-02.html +++ b/experiments/scrollview/sv-test-02.html @@ -81,7 +81,7 @@ var hu = $.mobile.scrollview.prototype._handleDragStop; function getDummyEvent(o) { - return { _pd: false, _sp: false, preventDefault: function(){ this._pd = true; }, stopPropagation: function(){ this._sp = true; }}; + return { target: o.target, _pd: false, _sp: false, preventDefault: function(){ this._pd = true; }, stopPropagation: function(){ this._sp = true; }}; } function updateEvent(e, cb_pd, cb_sp)