问题:

在JS文件中,使用fire手动调用,执行符合匹配的 dom 节点的相应事件的事件处理器(并冒泡)和默认行为,

有时候会出现这样的问题:事件明明已经定义有了,但是浏览器在解析JS文件时却找不对应事件,以至于无法触发指定事件,得不到相应的页面效果。

例如:在一个JS文件中,代码如下:

……//(省略n行代码)Event.fire("#more","click");//预想在浏览器第一次解析改JS文件时,触发该事件……//(再省略n行代码)Event.on("#more","click",function(obj){  //在此定义对应事件处理……//(再省略n行代码)});

这样就会出现一个问题,页面刷新进去时,本来预想是要触发下面的事件的,但是结果却不是如此。

原因:

浏览器解析JS文件时,在同一个代码块中从上到下解析处理(此处不讨论异步处理),如果将事件定义放在后面,而又在事件定义前用fire触发事件,就会因为浏览器还没有解析到对应事件的定义而得不到预期的触发事件的效果。

解决

1.可将事件定义放在代码块的前面,避免需要触发事件找不到对应事件;

2.可将事件定义包在function里,需要触发事件前调用对应function即可。

像这样:

showmore();//默认触发showmore事件function showmore(){Event.on("#showmore","click",function(obj){……//(省略n行代码)closeshowmore();});}function closeshowmore(){Event.on("#closemore","click",function(obj){……//(再省略n行代码)showmore();});}

新手上路,如有错误的地方,欢迎各位指出,非常感谢!

KISSY——事件Event.fire相关推荐

  1. Laravel事件Event

    适用场景:记录文章浏览量 php artisan make:event 事件名 示例: php artisan make:event MyEvent Laravel目录\app\Events已经生成M ...

  2. 11.8 Ext.util.Event.fire(): Attempting to fire “click“ event on destroyed 问题分析与解决

    问题: 点击当前面板的按钮,把当前面板从父容器中移除, 并添加新的元素到父容器时,报如下错误: Ext.util.Event.fire(): Attempting to fire "clic ...

  3. KISSY基础篇乄KISSY之Event

    KISSY之Event事件 今日任务:了解学习Event事件的基础知识 Event 模块是KISSY最重要的模块之一,他包含自定义事件机制.事件对象封装.DOM事件封装.面向多终端的事件行为统一.下辖 ...

  4. C#事件(event)解析

    原文:http://www.cnblogs.com/michaelxu/archive/2008/04/02/1134217.html 事件(event),这个词儿对于初学者来说,往往总是显得有些神秘 ...

  5. python 同步 事件 event 简介

    目录 1. Event 1.1 set() 1.2 wait() 1.3 clear() 1.4 is_set() 2. 协调线程同步 3. 一个更复杂的例子 事件 Event是另一种python多线 ...

  6. 秒杀多线程第六篇 经典线程同步 事件Event

    阅读本篇之前推荐阅读以下姊妹篇: <秒杀多线程第四篇 一个经典的多线程同步问题> <秒杀多线程第五篇 经典线程同步关键段CS> 上一篇中使用关键段来解决经典的多线程同步互斥问题 ...

  7. [数据库] Navicat for MySQL事件Event实现数据每日定期操作

    在我们操作数据库过程中,通常会遇到一些某个时间点操作数据库的问题,例如:         (1).每天凌晨12点对数据库进行定时备份,结算和汇总:         (2).每天凌晨2点删除数据库前三天 ...

  8. C#总结(二)事件Event 介绍总结

    最近在总结一些基础的东西,主要是学起来很难懂,但是在日常又有可能会经常用到的东西.前面介绍了 C# 的 AutoResetEvent的使用介绍, 这次介绍事件(event). 事件(event),对于 ...

  9. 线程queue、事件event及协程

    线程queue.事件event及协程 线程queue 多线程抢占资源,让其保持串行的两种方式: ​ 1.互斥锁 ​ 2.队列 线程队列分为以下三种: 1.Queue(先进先出) import queu ...

最新文章

  1. 2019年1月份A项目面试纪要
  2. 浅析企业网站软文效果是如何展现的?
  3. 一个面试官对JVM面试问题的分析
  4. ElasticSearch的初级安装
  5. python输出玫瑰花_如何用python画玫瑰花
  6. JavaScript判断访问终端
  7. 扫二维码缴违章停车罚款?骗你的!
  8. 用c语言画图的步骤,怎样用c语言画图
  9. flex的三个属性grow、shrink、basis
  10. 基于Struts2的网上书城(仿当当网)系统设计与实现
  11. ORACLE介质管理库MML
  12. EMV TLV 总结
  13. python 实现一个反向单位矩阵
  14. 最新运营级WiFi大师专业版源码
  15. 午芯高科WXP380气压传感器
  16. hbase安装配置 整合到hadoop
  17. Nginx同一个域名配置多个项目
  18. Java后端解密微信小程序手机号数据
  19. 论文研读笔记(三)——基于障碍函数的移动机器人编队控制安全强化学习
  20. [Python] 第三方库安装包包名解释

热门文章

  1. 11、ArrayList和linkedList的区别
  2. 【P1】Jmeter 准备工作
  3. 聊聊 Kafka: 在 Linux 环境上搭建 Kafka
  4. 使用docker构建jenkins镜像并运行容器
  5. 循环机换变速箱油教程_多年老师傅教你如何正确的换自动变速箱油?
  6. 每日新闻丨​马电信运营商与华为签署5G商用合同 马哈蒂尔赞扬
  7. 2023年上半年系统分析师下午真题及答案解析
  8. 如何恢复删除的文件?简单的方法
  9. HDU 6203 贪心 + LCA + dfs序 + BIT
  10. 物流信息管理软件测试培训,第四方物流管理系统的分析与软件测试