Angularjs中使用指令绑定点击事件的方法
发布时间 - 2026-01-11 00:27:16 点击率:次项目中,模板中的菜单是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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何注册花生壳免费域名并搭建个人网站?
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门
JavaScript中的标签模板是什么_它如何扩展字符串功能
Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
制作公司内部网站有哪些,内网如何建网站?
Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道
使用spring连接及操作mongodb3.0实例
如何快速搭建高效WAP手机网站吸引移动用户?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
利用python获取某年中每个月的第一天和最后一天
如何确认建站备案号应放置的具体位置?
Laravel定时任务怎么设置_Laravel Crontab调度器配置
如何获取PHP WAP自助建站系统源码?
青岛网站建设如何选择本地服务器?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
Android中AutoCompleteTextView自动提示
js实现点击每个li节点,都弹出其文本值及修改
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
如何在Windows服务器上快速搭建网站?
如何确保西部建站助手FTP传输的安全性?
如何用免费手机建站系统零基础打造专业网站?
如何用西部建站助手快速创建专业网站?
JS实现鼠标移上去显示图片或微信二维码
JavaScript数据类型有哪些_如何准确判断一个变量的类型
高端企业智能建站程序:SEO优化与响应式模板定制开发
Python文件流缓冲机制_IO性能解析【教程】
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
jQuery validate插件功能与用法详解
Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制
Laravel如何与Pusher实现实时通信?(WebSocket示例)
如何构建满足综合性能需求的优质建站方案?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
免费网站制作appp,免费制作app哪个平台好?
Python文件异常处理策略_健壮性说明【指导】
怎么用AI帮你设计一套个性化的手机App图标?
高防服务器:AI智能防御DDoS攻击与数据安全保障
魔方云NAT建站如何实现端口转发?
手机软键盘弹出时影响布局的解决方法
Python高阶函数应用_函数作为参数说明【指导】
Laravel如何处理和验证JSON类型的数据库字段
浅谈javascript alert和confirm的美化
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
Swift中循环语句中的转移语句 break 和 continue
如何在IIS中配置站点IP、端口及主机头?
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
如何快速搭建高效服务器建站系统?
如何在阿里云通过域名搭建网站?

