From 6a52bfa4cea172246eeef84bfdf6a4443599706c Mon Sep 17 00:00:00 2001 From: Arjun Singh Yadav Date: Thu, 8 Jul 2021 22:51:51 +0530 Subject: [PATCH] fix: courseware-chromeless: cancel click event only when target is found Cancel the click event on anchor tag only when the target element is found. Fixes: TNL-8445 --- lms/templates/courseware/courseware-chromeless.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lms/templates/courseware/courseware-chromeless.html b/lms/templates/courseware/courseware-chromeless.html index 6b2f77b7ff..df5d9ee1c2 100644 --- a/lms/templates/courseware/courseware-chromeless.html +++ b/lms/templates/courseware/courseware-chromeless.html @@ -141,12 +141,14 @@ ${HTML(fragment.foot_html())} // required for proper scrolling. $('a').on("click", function(event){ if ($(this).attr('href')[0] === "#") { - event.preventDefault(); var targetId = $(this).attr('href'); var targetName = $(this).attr('href').slice(1); // Checks if the target uses an id or name to focus and gets offset. var targetOffset = $(targetId).offset() || $(document.getElementsByName(targetName)[0]).offset(); - window.parent.postMessage({"offset": targetOffset.top}, document.referrer); + if (targetOffset) { + event.preventDefault(); + window.parent.postMessage({"offset": targetOffset.top}, document.referrer); + } } }) return;