我有两个html元素:<aleph>
和<beth>
。元素<aleph>
具有ng-blur
属性,元素<beth>
具有ng-click
属性。
如果我专注于el <aleph>
并点击<beth>
,则会显示(根据实验)ng-blur
将首先触发,ng-click
将触发。
答案 0 :(得分:3)
是的,模糊事件将始终首先触发
不,你不能改变行为。但是,您可以手动管理它。您可以在ng-blur回调中使用$ timeout,并检查可以通过ng-click操作的变量。
function ngClick () {
$scope.clicked = true;
// rest of your code
}
function ngBlur () {
$scope.clicked = false;
$timeout(function () { // will be executed after ngClick function in case of click
if ($scope.clicked) {
return;
}
// rest of your code
})
}
这是一个工作版本: http://jsfiddle.net/zhfew91j/2/