Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置href后,如何在angularjs中模拟锚点击?_Javascript_Angularjs_Click - Fatal编程技术网

Javascript 设置href后,如何在angularjs中模拟锚点击?

Javascript 设置href后,如何在angularjs中模拟锚点击?,javascript,angularjs,click,Javascript,Angularjs,Click,我正试图导出到一个excel文件,我已经让所有的东西都工作了,除了最简单的部分;设置文件的href后模拟锚定单击 我这样设置属性: // This is inside a directive link function scope.exportXLS() { var html = 'A long piece of html string generated from data'; $('#export-xls-' + scope.graphId).attr('href', URL.c

我正试图导出到一个excel文件,我已经让所有的东西都工作了,除了最简单的部分;设置文件的href后模拟锚定单击

我这样设置属性:

// This is inside a directive link function
scope.exportXLS() {

  var html = 'A long piece of html string generated from data';

  $('#export-xls-' + scope.graphId).attr('href', URL.createObjectURL(new Blob([html])));
}
导致:

<li ng-click="exportXLS()">
  <a id="export-xls-0" class="eo-xls" download="exported-graph.xls" type="text/csv" href="blob:http%3A//localhost%3A3000/20b7d696-b1c2-41b3-a570-f7389ff3d2fb">Export to XLS</a>
</li>
但是什么也没发生。。href正在设置中,但它没有下载文件,因为单击似乎不起作用。我知道
click()

值得注意的是,我使用的是chrome,而不是firefox,我听说firefox在模拟点击方面存在更多问题


设置
href
属性后,如何模拟单击?

是否打算使用
范围
而不是
$scope
?那(
$timeout
)呢?如果人头攒动说的话没用,试试。trigger(“点击”);instead@TheHeadRushscope是您通常在link函数中命名的scope参数。这不是问题所在。超时怎么办?如果没有它,您会得到一个错误,说摘要周期已经在进行中。@RandoHinn触发器也不起作用。我知道有合法的理由在
$scope
上使用
scope
,这就是为什么我要求使用它。我询问了
$timeout
,以验证它是否也在angular名称空间中使用——这在您最初的帖子中根本不清楚。
$timeout(function() {
  $('#export-xls-' + scope.graphId).click(function(event) {
    event.stopPropagation(); 
  });
});