【问题标题】:How can I click an element in jquery如何在 jquery 中单击元素
【发布时间】:2018-10-11 13:34:26
【问题描述】:

当我将鼠标悬停在另一个元素上时,我试图单击饼图中的一个元素,为此我正在使用 HighChart。但是,当我尝试单击元素时,在鼠标悬停功能下,我收到一条错误消息,提示“单击不是功能”。基本上,当有人将鼠标悬停在 H1 标签上时,我想将鼠标悬停在 Apple 切片上这是我尝试过的:

debugger;

Highcharts.chart('container', {
  chart: {
    type: 'pie',
    options3d: {
      enabled: true,
      alpha: 45
    }
  },
  title: {
    text: 'Contents of Highsoft\'s weekly fruit delivery'
  },
  subtitle: {
    text: '3D donut in Highcharts'
  },
  plotOptions: {
    pie: {
      innerSize: 100,
      depth: 45
    }
  },
  series: [{
    name: 'Delivered amount',
    data: [
      ['Bananas', 8],
      ['Kiwi', 3],
      ['Mixed nuts', 1],
      ['Oranges', 6],
      ['Apples', 8],
      ['Pears', 4],
      ['Clementines', 4],
      ['Reddish (bag)', 1],
      ['Grapes (bunch)', 1]
    ]
  }]
});

var ch = document.getElementsByClassName("highcharts-color-4");
var bx = document.getElementById("Apples");
var cv = bx;

if (ch && bx) {
  for (var i = 0; i < ch.length; i++) {
    ch[i].addEventListener("mouseover", mouseOver);
  }
  bx.addEventListener("mouseover", mouseOver);
}

function mouseOver() {
  $("#Apples").css("color", "red");
  var c = document.getElementsByClassName("highcharts-color-4");
  if (c) {
    for (i = 0; i < c.length; i++) {
      c[i].click();
    }
  }
}
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/highcharts-3d.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/modules/export-data.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="container" style="height: 400px"></div>
<h1 id="Apples">Apples</h1>

这是jsfiddle的链接

【问题讨论】:

  • c[i] 不是一个 jQuery 对象,您可以在其上调用 jQuery 函数 .click(),这样做 $(c[i]).click() 应该可以工作
  • 你想要触发点击事件还是定义事件?
  • 基本上将鼠标悬停在元素上
  • 悬停工作正常。 c[i].click();有什么用
  • @empiric 错误消失了,但没有出现应该在点击功能上的弹出窗口

标签: javascript jquery html svg highcharts


【解决方案1】:

$(element).trigger('click');

在此处查看文档:http://api.jquery.com/trigger/

【讨论】:

    【解决方案2】:

    debugger;
    
    var chart=Highcharts.chart('container', {
      chart: {
        type: 'pie',
        options3d: {
          enabled: true,
          alpha: 45
        }
      },
      title: {
        text: 'Contents of Highsoft\'s weekly fruit delivery'
      },
      subtitle: {
        text: '3D donut in Highcharts'
      },
      plotOptions: {
        pie: {
          innerSize: 100,
          depth: 45
        }
      },
      series: [{
        name: 'Delivered amount',
        data: [
          ['Bananas', 8],
          ['Kiwi', 3],
          ['Mixed nuts', 1],
          ['Oranges', 6],
          ['Apples', 8],
          ['Pears', 4],
          ['Clementines', 4],
          ['Reddish (bag)', 1],
          ['Grapes (bunch)', 1]
        ]
      }]
    });
    
    var ch = document.getElementsByClassName("highcharts-color-4");
    var bx = document.getElementById("Apples");
    var cv = bx;
    
    if (ch && bx) {
      for (var i = 0; i < ch.length; i++) {
        ch[i].addEventListener("mouseover", mouseOver);
      }
      bx.addEventListener("mouseover", mouseOver);
    }
    
    function mouseOver() {
      $("#Apples").css("color", "red");
       chart.series[0].data[0].update(20);
      var c = document.getElementsByClassName("highcharts-color-4");
      if (c) {
        for (i = 0; i < c.length; i++) {
            $(c[i]).trigger("click");
        }
      }
    }
    <script src="https://code.highcharts.com/highcharts.js"></script>
    <script src="https://code.highcharts.com/highcharts-3d.js"></script>
    <script src="https://code.highcharts.com/modules/exporting.js"></script>
    <script src="https://code.highcharts.com/modules/export-data.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <div id="container" style="height: 400px"></div>
    <h1 id="Apples">Apples</h1>

    使用 jquery 触发器以编程方式触发事件$(c[i]).trigger("click");

    【讨论】:

    • 弹出不来
    • 你在哪里创建了弹出窗口?
    • 当你将鼠标悬停在苹果切片上时,会出现一个弹出窗口,
    • 无法理解。请分享有没有关于这个的任何链接或图片
    猜你喜欢
    • 1970-01-01
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多