【发布时间】:2020-08-29 07:27:26
【问题描述】:
我尝试了很多方法来点击AngularJS的其他按钮。
Dom 元素:
<a class="nav-bar-link" ng-click="someMethod()">
按钮:
<a class="button">Log in</a>
预期结果
点击按钮时应该点击导航栏链接。
尝试的解决方案
$(document).on('click', '.button', function(event) {
console.log('came');
event.preventDefault();
$(".nav-bar-link").click();
});
$(document).on('click', '.button', function(event) {
console.log('came');
event.preventDefault();
$(".nav-bar-link").triggerHandler('click');;
});
$(document).on('click', '.button', function(event) {
console.log('came');
var a = $('nav-bar-link')[0];
var e = document.createEvent('MouseEvents');
e.initEvent('click', true, true);
a.dispatchEvent(e);
});
$(".button").click(function() {
setTimeout(function() {
$('.nav-bar-link').trigger('click');
}, 100);
return false;
});
这些答案是从浏览器控制台测试的。
如果有任何触发点击的解决方案,请告诉我。上述解决方案均无效。
我也接受 jQuery 和 JavaScript 解决方案。
【问题讨论】:
-
如果您使用的是
Angular,为什么不使用$scope.someMethod = fucntion() {}? -
有一个用 Angular JS 编写的 $scope 函数,当点击另一个元素时,我试图触发对该函数的点击。我只需要一种使用 Jquery 启用触发器的方法。注意:Jquery 在浏览器中完美运行。为什么我无法在 DOM 中触发点击事件
标签: javascript jquery html angularjs