前端js之event 事件(二)

前言:复杂的东西简单化,这是处理事物基本逻辑,事件是复杂的,能否把它简单化呢?人生复杂了能否简单化呢?

核心内容:事件模拟以及真正事件的应用

开始了

1.吹牛

2.吹牛

3.勿强求

A:模拟事件

应用场景:需求要触发一个点击事件,又不想通过用户的标准点击事件触发,有种自执行的感觉,在原生js中可以通过new一个event,然后在fire执行事件,记得传入事件类型,jq当中通过trigger传入事件类型,两种都可以传入数据参数,看似简单有效,但是面临复杂功能时就力不从心了,因为数据实在太少了。

B:复杂的事件参数

事件中包含了很多复杂的参数,面对复杂功能就可以加以运用,其中比较有用的参数target事件对象,currtarget当前事件对象,toelement,fromelement,还有鼠标位置包括相对于网页原点位置pageX,pageY,相对当前窗口位置,这个慎用如果通过这个去计算位置时在出现滚动条的情况下要考虑滚动条移动,还有屏幕位置这些属性都是常用的。但这些位置真的有用吗?这就要看你思维的纬度有多高了,可以想象这样一个场景,如果是一个购物网站,不管是移动端还是PC我都记录一个用户的所有鼠标位置,是不是可以这样推断,根据鼠标的相对于屏幕状态的集中位置就可以知道这个用户的生理状态是不是左撇子,就可以进行相对应的商品推荐,这还是小事。用大数据的视角去看,只要收集的用户行为足够多,算法足够的情况下,在用户完全不知情的点击行为中,可以分析出用户的性格甚至于疾病。

需求决定用法,简单的模拟事件去触发例如原生的拖拽事件的时候传参数和模拟触发都是不太好操作的,一味强求实在太累了。放心执念重新思考,也许真正的事件机制就能解决,也许不能解决,但思考之后的权衡是重要的,有时候已有的方法简单,但不如自定义来得满意,自定义意味着代码量增加考虑情况增加,凡事总有取舍。

清风难化雨,不求,

寒梅易映雪,自开。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,948评论 18 139
  • JavaScript 与 HTML 间通过事件实现交互。事件——文档或浏览器窗口中发生的一些特定的交互瞬间,即用户...
    sylvia_yue阅读 498评论 0 0
  • 事件流 IE和Netscape开发团队提出了完全相反的两种事件流的概念,事件冒泡流和事件捕获流。 事件冒泡 事件由...
    exialym阅读 987评论 0 9
  • 总结: 鼠标事件 1.click与dbclick事件$ele.click()$ele.click(handler(...
    阿r阿r阅读 1,640评论 2 10
  • 群体操控行为 模拟真实的群体行为,如避难,排队等。分离 Separation对齐 Alignment聚集 Cohe...
    Levi_Wan阅读 2,862评论 0 3