Index: lams_central/web/includes/javascript/authoring/authoringActivity.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/authoring/authoringActivity.js,v diff -u -r1.38.2.31 -r1.38.2.32 --- lams_central/web/includes/javascript/authoring/authoringActivity.js 16 Nov 2016 13:06:04 -0000 1.38.2.31 +++ lams_central/web/includes/javascript/authoring/authoringActivity.js 1 Dec 2016 10:01:07 -0000 1.38.2.32 @@ -725,8 +725,7 @@ // set all the handlers activity.items.attr('cursor', 'pointer') .mousedown(HandlerActivityLib.activityMousedownHandler) - .click(HandlerLib.itemClickHandler) - .dblclick(HandlerActivityLib.activityDblclickHandler); + .click(HandlerActivityLib.activityClickHandler); if (activity instanceof ActivityDefs.BranchingEdgeActivity && activity.branchingActivity.end) { Index: lams_central/web/includes/javascript/authoring/authoringHandler.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/authoring/authoringHandler.js,v diff -u -r1.16.2.11 -r1.16.2.12 --- lams_central/web/includes/javascript/authoring/authoringHandler.js 28 Oct 2016 16:21:02 -0000 1.16.2.11 +++ lams_central/web/includes/javascript/authoring/authoringHandler.js 1 Dec 2016 10:01:07 -0000 1.16.2.12 @@ -249,17 +249,35 @@ * Contains handlers for actions over Activities. */ HandlerActivityLib = { + // double tap support + tapTimeout : 500, + lastTapTime : 0, + lastTapTarget : null, /** * Double click opens activity authoring. */ - activityDblclickHandler : function(event) { - var activity = ActivityLib.getParentObject(this); - if (activity.readOnly) { - alert(LABELS.LIVEEDIT_READONLY_ACTIVITY_ERROR); - } else { - ActivityLib.openActivityAuthoring(activity); + activityClickHandler : function(event) { + var activity = ActivityLib.getParentObject(this), + currentTime = new Date().getTime(); + // is the second click on the same activity as the first one? + if (activity == HandlerActivityLib.lastTapTarget) { + // was the second click quick enough after the first one? + var tapLength = currentTime - HandlerActivityLib.lastTapTime; + if (tapLength < HandlerActivityLib.tapTimeout && tapLength > 0) { + event.preventDefault(); + if (activity.readOnly) { + alert(LABELS.LIVEEDIT_READONLY_ACTIVITY_ERROR); + } else { + ActivityLib.openActivityAuthoring(activity); + } + return; + } } + HandlerActivityLib.lastTapTime = currentTime; + HandlerActivityLib.lastTapTarget = activity; + // single click + HandlerLib.itemClickHandler.call(this, event); },