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

Javascript 如何从页面加载时默认出现的选定文本中删除文本选择?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,当我们刷新或重新加载页面时,当您单击下面的图像部分时,您可以在圆圈中间看到选定的文本: 讨论目标和关注点 现金流量分析 税务分析 等等 例如: 所选文本仅在第一次单击时出现-当您再次单击这些图像部分时,将看不到所选文本。因此,我想在第一次尝试时删除文本中的选择 我很难解释这个问题。下面是我正在使用的JS代码-我认为问题在于ChangeText()功能 /*----------Text change on click - Our Process page---------------*/ var

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

  • 讨论目标和关注点
  • 现金流量分析
  • 税务分析
  • 等等

    例如:

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

    我很难解释这个问题。下面是我正在使用的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
    }
    
    /*------------点击文本更改-我们的流程页面---------------*/
    var-prev;
    变量ID=['slide1','slide2','slide3','slide5','slide8','slide9','slide12','slide13','slide14','slide15','slide16'];
    window.onload=函数(){
    对于(var zxc0=0;zxc0
    < >我只想在点击不同的2图像标签时从中间的文本中删除所选文本。

    要查看选定文本的图像:


    显示控件后,应清除文本选择;您可以通过调用此函数来完成此操作(应完全跨浏览器):


    如果你能为你的问题设置一个演示,那将非常有帮助。尝试使用构建演示并共享。抱歉,忘了提到页面:-您可以看到此页面,希望了解我的问题。有太多错误的东西,很难将其重写为可行的内容。您使用了很多普通的js,其中可以使用jQuery,您使用了一个ID数组,该数组后来在jQuery选择器中使用,它也可以是
    $(“[ID^=slide]”)
    ,您在for循环中传递了一个元素,但在setupHandler()函数中,您在每次迭代中绑定了所有元素的单击,一个单击函数没有两个函数,也没有可能切换任何东西,那就是toggle(),它已经被弃用了,我可以永远继续下去吗?什么?我在3个不同的浏览器中浏览了那个页面,看不出你的意思。有什么问题?您可以在浏览器FF 12、IE9中看到问题
    function clearSelection() {
        if (window.getSelection) window.getSelection().removeAllRanges();
        else if (document.selection) document.selection.empty();
    }