Index: lams_central/web/includes/javascript/authoring/authoringActivity.js =================================================================== diff -u -r028082a4ecee7e516e0befda2dd1183e2fc42002 -r7e450026a56b1f065c08bcee3eadcde6d0844d7d --- lams_central/web/includes/javascript/authoring/authoringActivity.js (.../authoringActivity.js) (revision 028082a4ecee7e516e0befda2dd1183e2fc42002) +++ lams_central/web/includes/javascript/authoring/authoringActivity.js (.../authoringActivity.js) (revision 7e450026a56b1f065c08bcee3eadcde6d0844d7d) @@ -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 =================================================================== diff -u -r78d3840bba4ebbc2d65e9d8d064f3fc209b189ab -r7e450026a56b1f065c08bcee3eadcde6d0844d7d --- lams_central/web/includes/javascript/authoring/authoringHandler.js (.../authoringHandler.js) (revision 78d3840bba4ebbc2d65e9d8d064f3fc209b189ab) +++ lams_central/web/includes/javascript/authoring/authoringHandler.js (.../authoringHandler.js) (revision 7e450026a56b1f065c08bcee3eadcde6d0844d7d) @@ -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); },