Javascript Highcharts-Safari/IE中的自定义导航拖动器问题

Javascript Highcharts-Safari/IE中的自定义导航拖动器问题,javascript,css,internet-explorer,highcharts,safari,Javascript,Css,Internet Explorer,Highcharts,Safari,我找不到关于这个问题的帖子,所以我想我应该问问。我正在使用Highcharts的自定义滚动条/导航器,目前在Safari和所有版本的Internet Explorer中都存在显示问题 以下是自定义滚动条的显示方式: 以下是它在Safari/IE中的表现: 正如您所看到的,在Safari/IE中,在自定义拖动器后面似乎显示了一个默认的拖动器,我似乎不知道如何隐藏它。以前有人有过这个问题吗?以下是用于在滚动条上创建自定义句柄的代码: (function (H) { var d = false;

我找不到关于这个问题的帖子,所以我想我应该问问。我正在使用Highcharts的自定义滚动条/导航器,目前在Safari和所有版本的Internet Explorer中都存在显示问题

以下是自定义滚动条的显示方式:

以下是它在Safari/IE中的表现:

正如您所看到的,在Safari/IE中,在自定义拖动器后面似乎显示了一个默认的拖动器,我似乎不知道如何隐藏它。以前有人有过这个问题吗?以下是用于在滚动条上创建自定义句柄的代码:

(function (H) {
  var d = false;

  H.wrap(H.Scroller.prototype, 'init', function (proceed) {
    proceed.apply(this, Array.prototype.slice.call(arguments, 1));
  });

  H.wrap(H.Scroller.prototype, 'addEvents', function (proceed) {
    proceed.apply(this, Array.prototype.slice.call(arguments, 1));
  });

  H.wrap(H.Scroller.prototype, 'drawHandle', function (proceed) {
    proceed.apply(this, Array.prototype.slice.call(arguments, 1));

    H.each(this.handles, function (handle, index) {
      var element = handle.element;

      if (index == 0) {
        element.innerHTML = '';
        element.appendChild(parseSVG('<polygon fill="#464644" points="0,28 6.5,28 6.5,23.6 13,14 6.5,3.8 6.5,0 0,0 " stroke-width="0"></polygon>'));
        $(element).attr({'transform': "translate(" + (handle.translateX) + ',' + (handle.translateY - 6) + ')'}).addClass('drag_knob');
      }
      else {
        element.innerHTML = '';
        element.appendChild(parseSVG('<polygon fill="#464644" points="13,28 6.5,28 6.5,23.6 0,14 6.5,3.8 6.5,0 13,0 " stroke-width="0"/>'));
        $(element).attr({'transform': "translate(" + (handle.translateX - 12) + ',' + (handle.translateY - 6) + ')'}).addClass('drag_knob');
      }
    })
  });

  function parseSVG(s) {
    var div = document.createElementNS('http://www.w3.org/1999/xhtml', 'div'),
      frag = document.createDocumentFragment();

    div.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg">' + s + '</svg>;';

    while (div.firstChild.firstChild) {
      frag.appendChild(div.firstChild.firstChild);
    }
    return frag;
  }
}(Highcharts));

啊哈,我知道了。出于某种原因,在IE/Safari中,当使用此模块时,会添加一些额外的元素,并将其删除。因此,解决方案是添加一些CSS来隐藏这些元素:

.highcharts-navigator-handle-left, .highcharts-navigator-handle-right {
    path, rect {
      display: none;
    }
 }