触发器使用jquery自动点击

时间:2017-05-03 10:28:48

标签: javascript jquery html amcharts

我试图在页面加载后自动触发点击。 这是代码

$("document").ready(function() {

    setTimeout(function() {

        $(".amcharts-export-menu-top-right").find('a').trigger('click');

    },1000);
});

但它不起作用

以下是整个代码: https://jsfiddle.net/32g26a4d/

3 个答案:

答案 0 :(得分:4)

你可以试试这个

$("document").ready(function() {

 setTimeout(function() {

    $('.amcharts-main-div .amcharts-export-menu-top-right a')[0].dispatchEvent(new Event('click'))

   },1000);
 });

JSFiddle example

答案 1 :(得分:0)

当您使用.export-main类使用 AmCharts 创建按钮时,您无需使用任何其他类/查找方法来选择anchor按钮。请遵循以下代码::

$("document").ready(function() {
    setTimeout(function() {
        $(".export-main a")[0].click();
    },1000);
});

使用jsfiddle链接:: link

答案 2 :(得分:0)

如果您有动画,则应在图表的renderedanimationFinished事件中执行此操作。由于图表创建过程是异步的,$("document").ready()无法确保图表将完成加载。

将此内容添加到您的makeChart调用中:

//if you have startDuration set to a value > 0:
AmCharts.makeChart("chartdiv", {
  // ...
  "listeners": [{
    "event": "animationFinished",
    "method": function() {
      $('.amcharts-main-div .amcharts-export-menu-top-right a')[0].dispatchEvent(new Event('click'));       
    }
  }]
});

//if you don't have startDuration set or it is set to 0:
AmCharts.makeChart("chartdiv", {
  // ...
  "listeners": [{
    "event": "rendered",
    "method": function() {
      setTimeout(function() {
        $('.amcharts-main-div .amcharts-export-menu-top-right a')[0].dispatchEvent(new Event('click'));       
      }, 500)      
    }
  }]
});

Updated fiddle