如何从页面加载时默认出现的所选文本中删除文本选择?

当我们刷新或重新加载页面时,当您单击下面的图像部分时,您可以在圆圈中间看到所选文本:

  1. 讨论目标与关注
  2. 现金流量分析
  3. 税务分析……

等等。

示例: http : //ivyfa.advisorproducts.com/financial-planning-process

所选文本仅在第一次单击时出现 – 当您再次单击这些图像部分时,您将看不到所选文本。 所以我想在第一次尝试时从文本中删除选择。

我很难解释这个问题。 下面是我正在使用的JS代码 – 我认为问题出在ChangeText()函数中。

 /*----------Text change on click - Our Process page---------------*/ var prev; var IdAry = ['slide1', 'slide2', 'slide3', 'slide5', 'slide8', 'slide9', 'slide12', 'slide13', 'slide14', 'slide15', 'slide16']; window.onload = function() { for (var zxc0 = 0; zxc0 < IdAry.length; zxc0++) { var el = document.getElementById(IdAry[zxc0]); if (el) { setUpHandler(el); el.onmouseover = function() { $(this).addClass("hover"); } el.onmouseout = function() { $(this).removeClass("hover"); } } } } function setUpHandler(el) { /*---------This is used to add selected class on clicked id only and remove class selected from rest---------*/ $("#" + IdAry.join(",#")).click(function() { $(this).addClass("selected"); $("#graphics .selected").not(this).removeClass("selected"); }) /*---------This will add show hide class to thier spans and vise versa-------*/ $("#" + IdAry.join(",#")).click( function() { changeText(this, "hide", "show"); }, function() { changeText(this, "show", "hide"); }) } function changeText(obj, cl1, cl2) { obj.getElementsByTagName('SPAN')[0].className = "hide"; obj.getElementsByTagName('SPAN')[1].className = "show"; if (prev && obj !== prev) { prev.getElementsByTagName('SPAN')[0].className = "show"; prev.getElementsByTagName('SPAN')[1].className = "hide"; } prev = obj } 

我只想在单击不同的2图像标记时从中间的文本中删除所选文本。

用于查看所选文本的图像:

图像以查看所选文本

显示控件后,应清除文本选择; 你可以通过调用这个函数来做到这一点(应该是完全跨浏览器):

 function clearSelection() { if (window.getSelection) window.getSelection().removeAllRanges(); else if (document.selection) document.selection.empty(); }