如何从 angular 指令中触发点击

How to trigger a click from within an angular directive

我想知道如何从 angularjs/1.6.4 指令中触发点击。

基本上这段代码部分有效:

app.directive('abc', function() {
  return {
    :
    :
    link: function(scope, element, attrs, controller) {
          :
       setTimeout(function(){element[0].click();}, 400);
          :
    }
  }
});

但是,如果页面加载时间超过 400 毫秒,就会出现问题。在这种情况下它不起作用。因此,我更喜欢一种不依赖于指定超时期限的解决方案,而是一种无论页面加载多长时间都有效的方法。

你应该使用不带 milliseconds 参数的 setTimeout,这样它会在下一个 tick 中执行函数。您可以阅读更多相关信息 here

app.directive('abc', function() {
  return {
    :
    :
    link: function(scope, element, attrs, controller) {
          :
       setTimeout(function(){element[0].click();});
          :
    }
  }
});