最近在做项目时,遇到一个需求,事实上就是表单联动的问题,单击单选框,下面的复选框联动,当第一次加载时,默认触发第一个单选框,如图:

之前的方法,没有完成我的要求,第一次加载时,公司被选中,再“角色”这块并没有触发指定事件,代码如下:

    //首次加载时,模拟Dept单击事件$("input[name=Dept]").first().trigger("click");//Dept单击事件$("input[name=Dept]").live("click", function () {var deptid = $("input[name=Dept]:checked").val();if (deptid == undefined)deptid = $("input[name=Dept]").first().val()$.get("/Common/PartialRole", { deptID: deptid }, function (data) {$("#roleList").html(data);});});

经过分析,找到了原因,JQ的代码为顺序执行,当你执行到trigger时,下面的live方法会没有执行,这时,你触发的click事件是空的,所以,当然程序首次加载时

只是单选按钮被选中,事件方法主体并没有被触发,其它不是没有触发,而是方法本身是空的

将trigger与live的顺序对调,效果实现

    //Dept单击事件$("input[name=Dept]").live("click", function () {var deptid = $("input[name=Dept]:checked").val();if (deptid == undefined)deptid = $("input[name=Dept]").first().val()$.get("/Common/PartialRole", { deptID: deptid }, function (data) {$("#roleList").html(data);});});//首次加载时,模拟Dept单击事件$("input[name=Dept]").first().trigger("click");

这时,再运行代码,程序执行到trigger代码段时,click方法已经被执行,这时,再进行trigger的触发,当然结果也就出来了。

小知识:JQ程序与其它程序执行的方式是相同的,代码自上而下运行,当然程序代码会更新你的条件语句改变执行的顺序,这是必然的,这个例子告诉我们,在使用trigger时,应该将它放到你触发的方法的下面,而不要放在上面!

本文转自博客园张占岭(仓储大叔)的博客,原文链接:JQ~trigger与bind,触发与绑定何先何后?,如需转载请自行联系原博主。

JQ~trigger与bind,触发与绑定何先何后?相关推荐

  1. 使用jQuery中trigger()方法自动触发事件

    一.常用事件 在页面加载完成时  自动触发input的点击事件,在移动端可以实现自动弹出输入法,获得焦点 $("input").trigger("click") ...

  2. 解释this指针指向与bind()方法:用bind方法永久绑定this的指向

    参考资料: ①MDN,函数的 this 关键字 ②MDN,bind() 方法 ③MDN,箭头函数 this指针的特点: ①在绝大多数情况下,函数的调用方式决定了this的值. ②this不能在执行期间 ...

  3. el-select绑定值赋值后,页面无法显示对应label值

    el-select绑定值赋值后,页面无法显示对应label值 this.lunwen.achmId='1',页面也显示1,无法显示1对应的label值.这种情况大多数是数据类型不统一,比如页面绑定为n ...

  4. JQ trigger触发a标签点击事件

    trigger() 方法触发被选元素的指定事件类型. $("a").trigger('click') ; 这样直接触发a标签上的点击事件无法生效 需要绑定给a标签的子集 $(&qu ...

  5. jq trigger

    年前一个项目做下来,全程js 交互写了我半辈子的js代码,重构了N便~~ 不过做项目这东西很锻炼人,强迫你去接触一些没有接触过的东西,收获还是蛮大的.其中收获最大的还是对jQuery 的全新认识了,之 ...

  6. PLSQL_性能优化系列07_Oracle Parse Bind Variables解析绑定变量

    2014-09-25 Created By BaoXinjian 一.绑定变量用法和使用场合 使用绑定变量的重要性:如果不使用绑定变量而使用常量,会导致大量硬解析.由于硬解析的种种危害,不使用绑定变量 ...

  7. 第五节: Quartz.Net五大构件之Trigger的四大触发类

    一. WithSimpleSchedule(ISimpleTrigger) 1. 用途:时.分.秒上的轮询(和timer类似),实际开发中,该场景占绝大多数. 2. 轮询的种类:永远轮询和限定次数轮询 ...

  8. 学习bind源代码,比较bind的方式绑定函数在在内存使用上优于箭头函数

    前言 使用ES的class,到底是使用箭头函数更有效率,还是在构造器函数(constructor)中使用bind函数给函数绑定context更加有效率?在Demystifying Memory Usa ...

  9. 边缘触发(Edge Trigger)和条件触发(Level Trigger)

    概述 边缘触发 是指每当状态变化时发生一个io事件: 条件触发 是只要满足条件就发生一个io事件: 详述 int select(int n, fd_set *rd_fds, fd_set *wr_fd ...

最新文章

  1. Unity2D游戏开发和C#编程大师班
  2. IDC发布制造业预测,AI风险决策因何上榜?
  3. 罗敏敏组建立新型脑-脑接口实现“阿凡达”式的跨鼠遥控
  4. 【Machine Learning】决策树之ID3算法 (2)
  5. 基于多进程和基于多线程服务器的优缺点及nginx服务器的启动过程
  6. SAP UI5 应用开发教程之五十七 - 基于 OData 注解的 Smart Field 使用方法学习试读版
  7. python 廖雪峰数据分析统计服_廖雪峰python教程阅读量统计
  8. 断路器操作机构分合闸线圈电流特征曲线特点
  9. python运维开发之第八天(socket)
  10. JOptionPane弹框常用实例
  11. linux防火墙允许dns服务,Linux防火墙设置-DNS服务器篇
  12. 创纪录!浪潮云海完成OpenStack Rocky版本全球最大规模单一集群测试!
  13. 孔夫子告诉你:编程到底能教会你什么!
  14. 1024乘风破浪季,3本好书助你平步青云
  15. 多个Wyze 摄像头漏洞可导致攻击者接管设备并访问视频
  16. ieda使用 在jsp页面中,有时候会出现不能智能显示方法 idea pageContext.setAttribute...
  17. WINDOWS蓝屏照片
  18. jQuery做的自定义选项卡
  19. java笔试题(题目+解析)
  20. 即时通讯软件(即聊天软件)代表软件列表

热门文章

  1. 数智化浪潮之中,传统企业如何抓住转型机遇
  2. 客户信贷评级 Python 实战
  3. 梳理vue双向绑定的实现原理
  4. 团队项目第一次冲刺第三天
  5. 活动目录系列之三---域控制器常规卸域
  6. 开源 java CMS - FreeCMS2.8 数据对象 question
  7. 前端面试查漏补缺--(一) 防抖和节流
  8. 跨云协作,看OpenStack起舞
  9. linux下wc命令详解
  10. SharePoint 2010自定义母版页小技巧——JavaScript和CSS引用