Android和Chrome事件正常运行,请尝试以下选项:
$null
我仔细检查并在Safari中启用了Javascript;也可以尝试使用以下angularjs指令:
$window.onclick = function () {
if ($scope.accountsMenuOpen) {
$scope.accountsMenuOpen = false;
$scope.$apply();
}
};
document.body.addEventListener('click', function () {
if ($scope.accountsMenuOpen) {
$scope.accountsMenuOpen = false;
$scope.$apply();
}
});
document.querySelector('body').addEventListener('click', function () {
if ($scope.accountsMenuOpen) {
$scope.accountsMenuOpen = false;
$scope.$apply();
}
});
我只是在Safari中调试,某些元素(其中的元素在ng-controller上下文中)触发了click事件。我不知道为什么没有在所有身体元素中注册。
答案 0 :(得分:1)
在深入研究了触摸事件之后,可以在野生动物园中进行一次旅行,感谢Carcigenicate的提示
document.body.addEventListener('touchend', function () {
if ($scope.accountsMenuOpen) {
$scope.accountsMenuOpen = false;
$scope.$apply();
}
});