全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Angularjs中使用指令绑定点击事件的方法

项目中,模板中的菜单是jQuery控制的,在Angularjs中就运行不到了,因为菜单项是ng-repeat之后的。

如html

<ul id="main-menu">
 <li class="">
  <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >Menu1</a>
  <ul class="sub-menu">
    <li ><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >--1</a></li>
    <li ><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >--2</a></li>
  </ul>
 </li>
  <li class="">
  <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >Menu2</a>
  <ul class="sub-menu">
    <li ><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >--1</a></li>
    <li ><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >--2</a></li>
  </ul>
 </li>
</ul>

Jquery给第一级a链接绑定事件代码像:

$(function(){
 $("#main-menu li a").click(function(e){
   if ($(this).next().hasClass('sub-menu') === false) {
        return;
     }
     console.log("click");
 });
});

因为我之前看过文档说,Angularjs的Controller不处理Dom的操作,所以一直在找方法怎么处理和jQuery 一样绑定a的点击事件,在看了jQuery not working with ng-repeat results之后,原来可以将所有链接的单击事件,放在一个指令中。如果在Controller中绑定了ng-click,并操作了Dom元素,就不太规范了,使用指令会好一些。

html

<ul id="main-menu">
 <li class="">
  <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" toggle-main-menu>Menu1</a>
  <ul class="sub-menu">
    <li ><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >--1</a></li>
    <li ><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >--2</a></li>
  </ul>
 </li>
  <li class="">
  <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" toggle-main-menu>Menu2</a>
  <ul class="sub-menu">
    <li ><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >--1</a></li>
    <li ><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >--2</a></li>
  </ul>
 </li>
</ul>

javascript:

.directive("toggleMainMenu", function() {
  return {
    restrict: "A",
    link: function(scope, elem, attrs) {
      $(elem).click(function() {
        if($(this).next().hasClass('sub-menu') === false) {
          return;
        }
      console.log("click");
      });
    }
  }
});

原来指令是这样使用的。以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# angularjs  # 指令绑定  # 绑定事件  # 事件指令  # Angularjs 事件指令详细整理  # AngularJS实现自定义指令与控制器数据交互的方法示例  # angularjs之$timeout指令详解  # 深究AngularJS如何获取input的焦点(自定义指令)  # Angularjs中使用轮播图指令swiper  # angularjs 指令实现自定义滚动条效果  # 绑定  # 放在  # 看了  # 不太  # 是这样  # 作了  # 定了  # 中就  # 会好  # 单击  # 大家多多  # 单是  # 怎么处理  # 菜单项  # 文档  # 因为我  # 中的菜  # lt  # ul  # xhtml 


相关文章: 如何选择域名并搭建高效网站?  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  高防服务器租用如何选择配置与防御等级?  太平洋网站制作公司,网络用语太平洋是什么意思?  Java解压缩zip - 解压缩多个文件或文件夹实例  如何在西部数码注册域名并快速搭建网站?  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  建站168自助建站系统:快速模板定制与SEO优化指南  建站主机选购指南:核心配置优化与品牌推荐方案  如何高效搭建专业期货交易平台网站?  建站之星在线版空间:自助建站+智能模板一键生成方案  表情包在线制作网站免费,表情包怎么弄?  如何通过cPanel快速搭建网站?  如何制作网站标识牌,动态网站如何制作(教程)?  相册网站制作软件,图片上的网址怎么复制?  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  岳西云建站教程与模板下载_一站式快速建站系统操作指南  企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?  已有域名和空间如何快速搭建网站?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  如何快速打造个性化非模板自助建站?  如何在云指建站中生成FTP站点?  如何在建站之星网店版论坛获取技术支持?  网页设计与网站制作内容,怎样注册网站?  南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?  Android滚轮选择时间控件使用详解  电商网站制作价格怎么算,网上拍卖流程以及规则?  如何在IIS中配置站点IP、端口及主机头?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  建站之星如何配置系统实现高效建站?  智能起名网站制作软件有哪些,制作logo的软件?  如何快速生成专业多端适配建站电话?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  建站主机如何选?高性价比方案全解析  建站DNS解析失败?如何正确配置域名服务器?  海南网站制作公司有哪些,海口网是哪家的?  如何快速搭建高效WAP手机网站?  如何用好域名打造高点击率的自主建站?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  山东云建站价格为何差异显著?  如何快速搭建安全的FTP站点?  微信h5制作网站有哪些,免费微信H5页面制作工具?  建站主机解析:虚拟主机配置与服务器选择指南  三星网站视频制作教程下载,三星w23网页如何全屏?  广平建站公司哪家专业可靠?如何选择?  php条件判断怎么写_ifelse和switchcase的使用区别【对比】  网站制作报价单模板图片,小松挖机官方网站报价?  建站之星安装路径如何正确选择及配置? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。