我该如何取消ngEvent?

时间:2013-10-15 17:23:57

标签: angularjs

随着AngularJS 1.2.0-rc.3的发布,我正在弄乱ngCutngCopyngPaste,但我无法取消它们。我认为规范不允许它,但确实如此。它必须是可能的......通过搜索任何东西都无法找到任何东西(只是取消传播)。有什么想法吗?

http://jsfiddle.net/XEEpv/

2 个答案:

答案 0 :(得分:4)

不确定“取消事件”究竟是什么意思,但你可以用事件做的是:

  • preventDefault()因此,此事件通常不会触发的默认操作
  • stopPropagation()所以事件不会在DOM层次结构中出现问题

我认为您要取消默认操作,即在事件上调用preventDefault()

$scope.cut = function ($event) {
    console.log('cut', $event);
    $event.preventDefault();
}

jsFiddle这里:http://jsfiddle.net/M5jRW/

答案 1 :(得分:1)

您可以将$event.returnValue设置为false:

function x($scope) {
    $scope.cut = function ($event) {
        $event.returnValue = false;
        console.log('cut', $event);
    }
    $scope.kp = function ($event) {
        console.log('keypress', $event);
        return false;
    }
}

以下是您更新的小提琴:http://jsfiddle.net/XEEpv/1/