在Angular中访问被点击元素的类型

时间:2015-07-20 10:13:30

标签: jquery html angularjs

在Angular中有没有办法访问被点击的元素类型?我在jQuery中有以下内容并且它工作正常,麻烦的是我不知道如何在我被要求查看的Angular项目中执行相应的操作。

Pointee()

如何修改此Angular事件处理程序以像上面的jQuery一样工作?

SafeMatcherCast()

像这样的东西????

// Click action
$(".contactlist").on("click", function(e) {

    if (!$(e.target).is(':checkbox') && !$(e.target).is("li:nth-child(1)")) {
        var token = $(this).data('token');
        window.location.href = "XYZ.php?page=contacts&token=" + token;
    }

});

HTML

$scope.eventHandler = function(data) {
        window.location.href = "XYZ.php?page=contacts&token=" + data.token;
};

1 个答案:

答案 0 :(得分:0)

使用带有element.bind的指令。

  app.directive('clickMe', function() {
  return function(scope, element, attr, html) {
    element.bind('mouseup', function() {
      console.log(JSON.stringify(attr));
      });
    };
  });

您的HTML就是这样:

<input type="checkbox" class="check" data-token="{{data.token}}" click-me name="addselect[]">

为复选框返回以下内容:

{"$attr":{"type":"type","class":"class","token":"data-token","clickMe":"click-me","name":"name"},"$$element":{"0":{"ng339":7},"length":1},"type":"checkbox","class":"check","token":"","clickMe":"","name":"addselect[]","$$observers":{"token":[]}}

在指令中,如果您只想获取类型,attr.type将提供它。

checkbox