代码之家  ›  专栏  ›  技术社区  ›  Langdon

如何取消ngEvent?

  •  2
  • Langdon  · 技术社区  · 12 年前

    随着AngularJS 1.2.0-rc.3的发布,我一直在摆弄 ngCut , ngCopy ngPaste ,但我没能取消。我认为规格不允许,但确实允许。这一定是可能的。。。通过搜索也找不到任何东西(只是关于取消传播)。有什么想法吗?

    http://jsfiddle.net/XEEpv/

    2 回复  |  直到 12 年前
        1
  •  4
  •   pkozlowski.opensource    12 年前

    不确定您所说的“取消事件”到底是什么意思,但您可以对事件做些什么:

    • preventDefault() 因此,该事件通常触发的默认操作不会发生
    • stopPropagation() 这样事件就不会在DOM体系中出现

    我推测您想取消默认操作,即呼叫 预防默认() 关于活动:

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

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

        2
  •  1
  •   John Tseng    12 年前

    您可以设置 $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/