猿问

访问angularjs中的单击元素

我是AngularJS的新手,并且怀疑我没有掌握一个概念。我也在使用Twitter Bootstrap,并且加载了jQuery。


工作流程:用户单击列表中的链接,“主”部分更新,并且链接用户单击获取活动类。


基本HTML标记:


<ul class="list-holder" ng-controller="adminController">

   <li><a ng-click="setMaster('client')">Clients</li>

   <li><a ng-click="setMaster('employees')">Employees</li>

   <li><a ng-click="setMaster('etc')>Etc...</li>

</ul>

在jQuery中执行此操作:


jQuery(".list-holder").on('click', 'a', function(event){

    event.preventDefault();

jQuery(".list-holder li").removeClass('active');

jQuery(this).parent('li').addClass('active');

});

但是我不知道如何集成Angular和jQuery来完成此操作,因为我正在使用Angular从服务器获取主列表(以JSON形式)并更新页面上的列表。


我该如何整合呢?进入角度控制器功能后,似乎无法找到单击的元素


控制器:


function adminController($scope)

    {    

        $scope.setMaster = function(obj)

        {

            // How do I get clicked element's parent li?

            console.log(obj);

        }

    }


宝慕林4294392
浏览 608回答 3
3回答

慕盖茨4494581

仅供参考:除非在标记中通过$ event,否则$ event不会起作用:请ng-click="setMaster(section, $event)"注意。

当年话下

使用$ event.target时遇到问题,因为按钮内有一个图标。因此,有时目标结果是按钮,有时是图标(取决于我单击的位置)。我使用$ event.currentTarget而不是target,它就像一个魅力。
随时随地看视频慕课网APP
我要回答