gpt4 book ai didi

javascript - ionic 触发点击事件不起作用

转载 作者:行者123 更新时间:2023-11-29 14:39:07 25 4
gpt4 key购买 nike

我的 Ionic 应用程序中有一个模态,当显示模态时,我想触发特定元素上的点击事件。

Controller
$scope.$on('modal.shown', function() {
document.getElementById('somemodal').click(); // #1
$( "#somemodal" ).triggerHandler( "click" ); // #2
});


Index.html
<h1 class="title" id="somemodal" ng-click="start()">info</h1>

#1 和#2 都不会触发 ng-click,后者会触发另一个 Controller 中的函数启动

如有任何建议或建议,我们将不胜感激。

谢谢。

最佳答案

如果两个 Controller 都在同一层,使用像这样的工厂:

(function() {
'use strict';

angular
.module('yourapp')
.factory('yourfactory', yourfactory);

yourfactory.$inject = [$rootScope];

/* @ngInject */
function yourfactory($rootScope) {
var service = {
start: start
};
return service;

function start() {
$rootScope.$broadcast('dostart', {});
}
}
})();

然后在 Controller 1 中(使用模态):

$scope.$on('modal.shown', function() {
yourfactory.start(); // Don't forget to inject yourfactory
});

在 Controller 2 中:

$scope.$on('dostart', function(event, args) {
$scope.start();
});

如果两个 Controller 不在同一层,也可以在没有工厂的情况下从第一个 Controller 直接执行 $broadcast$emit,具体取决于 Controller 的层次结构

关于javascript - ionic 触发点击事件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41057258/

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