gpt4 book ai didi

javascript - native javascript 单击 dom 元素

转载 作者:行者123 更新时间:2023-11-30 12:12:53 24 4
gpt4 key购买 nike

我需要在 native javascript 中调用点击操作。我得到了以下元素:

<svg class="pull-right svg-cross ng-isolate-scope" xmlns="http://www.w3.org/2000/svg" data-svg-icon="" icon="cross" ng-click="dismissBanner()">
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#svg-cross"></use>
</svg>

我好像是用angular的网站。我想单击该元素,以便正确调用函数 dismissBanner()。因此我尝试了以下方法:

document.getElementsByClassName('pull-right svg-cross ng-isolate-scope')[0].click(); 

document.getElementsByClassName('pull-right svg-cross ng-isolate-scope')[0].onclick(); 

然而,两次尝试都失败了。我收到错误 Uncaught TypeError: document.getElementsByClassName(...)[0].onclick is not a function(...)

我也直接调用了 dismissBanner(); 函数,但是,然后我得到错误:Uncaught ReferenceError: dismissBanner is not defined(...)

我应该如何正确地做到这一点?

最佳答案

看起来这是工作方法:

angular.element('.svg-cross').trigger('click');

来源:How to trigger ng-click [AngularJS] programmatically

跟OP聊了一下,发现使用的Angular版本是1.3.17。对于这个版本,触发点击的正确方法是这样的:

var el = document.getElementsByClassName('pull-right svg-cross ng-isolate-scope')[0];
angular.element(el).triggerHandler('click');

关于javascript - native javascript 单击 dom 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33278832/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com