ICode9

精准搜索请尝试: 精确搜索
  • 封装addEventListener,removeEventListener指定元素添加事件及兼容问题js2020-05-15 23:06:12

    HTML DOM addEventListener() 方法 和 HTML DOM removeEventListener()某些浏览器还是存在兼容问题,以下封装了这两个方法: // Events // on(node, eventName, handler, [capture]): capture is silently ignored in ie8 export const addEventListener = (function() { if (type

  • socket.io不为人知的功能2020-05-15 19:53:53

    介绍 socket.io 是一个基于websocket实现的前后端实时通讯框架,也对低版本浏览器做了封装。使用起来简单,方便。 初次使用起来可能会比较迷糊,其实主要常用就几个方法,简单介绍一下。 客户端 io.connect(url) //客户端连接上服务器端 socket.on('eventName', msg => {}) //客户端监听

  • vue 封装类似于$emit、$on公共方法2020-05-14 15:51:58

    在vue项目中我们经常用到组件传值的方法; 接下来我们就封装一个类似于$emit、$on的方法; 在src目录下创建一个observer的文件,里边写上要封装的方法;     const eventList = {}; const $on = (eventName, callback) => { if (!eventList[eventName]) { eventList[eventName

  • vue组件库封装 广播 $dispatch $broadcast2020-04-03 22:08:11

    $dispatch和$broadcast源代码: function broadcast (componentName, eventName, params) { this.$children.forEach(child => { const name = child.$options.name // 组件名与传入componentName一致 if (name === componentName) { // 子组件触发eventName事

  • JS中注册事件的几种方式2019-11-15 14:56:10

    1、通过onclick方式注册事件,存在无法给同一个对象的同一个事件注册多个事件处理函数的问题 2、通过addEventListenner方式注册事件,存在浏览器兼容性的问题(IE9以后才支持此方法) 3、通过attachEvent方式注册事件,同样存在浏览器兼容性的问题(IE6-IE10特有的方法)   处理兼容性函数:

  • 自定义事件2019-11-13 16:51:59

    //新学的一个自定义事件方法  class MyEvent {         constructor() {    //给实例化对象添加一个’handle‘属性  值为数组,里面存放自己的函数 类似 let handle = { "myevnet":[fn1,fn2,fn3.....] };             this.handle = { };    

  • 简单实现一个双向绑定2019-11-05 15:02:36

    看了一些关于双向绑定的文章,现在来整理一下思路。 首先实现双向绑定有三个步骤: 需要一个方法来识别哪一个的view被绑定了相应的数据 需要监视数据和view的变化 需要将所有变化传播到绑定的对象和对应的view 为了解决第一个问题,要在对应的dom上添加相应的data-bind-<prop_name>

  • 注册事件的兼容性处理2019-08-26 17:02:50

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <input type="button" value="按钮" id="btn"> <scr

  • javascript自己写的自定事件类2019-08-23 23:03:26

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible&qu

  • 实现一个EventEmitter类,这个类包含以下方法: on(监听事件,该事件可以被触发多次)- once(也是监听事件,但只能被触发一次)- fire(触发指定的事件)- off(移除指定事件的某2019-08-06 23:50:52

    实现一个EventEmitter类,这个类包含以下方法: on(监听事件,该事件可以被触发多次)- once(也是监听事件,但只能被触发一次)- fire(触发指定的事件)- off(移除指定事件的某个回调方法或者所有回调方法) function EventEmitter() { this.handlers = {}}//监听事件,该事件可以被触发多次EventEm

  • lua实现简单2019-07-31 17:56:11

    MessageManager.lua local messageManager = {mEventTable = {},mEventUserData = {}} --注册事件function messageManager.Add(EventName,Func,UserData) assert( Func ) messageManager.mEventTable[ EventName ] = messageManager.mEventTable[ EventName ] or {} local Even

  • on、off、emit的简单封装2019-07-16 11:00:27

    on的封装: 思路: 1.判断事件名称是否存在。 2.如果存在的情况下将cb存放在eventName这个数组中。 3.如果不存在创建Key值为eventName,val为数组。 const $on=(eventName,cb)=>{ if(!eventList[eventName]){ eventList[eventName] = []; } eventList[eventName].push(c

  • 利用观察者模式 进行不同页面的传值2019-05-31 15:50:18

    const eventMap = {};//监听事件//$on(事件名字, 回调函数1)//$on(事件名字, 回调函数2)const $on = function(eventName, eventCallback){ //判断事件是否有对应的装载事件回调的容器 if(!eventMap[eventName]){ eventMap[eventName] = [];//没有就创建 } //

  • 手动封装on,emit,off2019-04-19 08:52:39

      on 绑定 emit 触发 off 解绑 //存放事件eventList = {key:valhandle:[]}   1对多on(eventName,callback);handle:-------N多个1、判断事件名称是否存在 2、如果存在的情况下将cb存放在eventName这个数组当中 3、如果不存在创建key值为eventName val值为数组   1对多emit(event

  • ExtJS4.2下将表单元素放在菜单时不能进行拷贝的问题解决办法2019-03-20 20:40:21

    通过浏览器F12我们发现,在菜单对应的dom元素上面,有几个系统附加的事件处理函数,只要我们将它去掉就可以了。示意代码如下: { xtype: "button", scope: zhuUx, menu: { xtype: 'menu', listeners: {

  • 手动实现一个eventEmitter2019-01-31 11:43:19

           观察者模式在前端开发中非常常用,我们经常用的事件就是观察者模式的一种体现。它对我们解耦模块、开发基于消息的业务起着非常重要的作用。Node.js 原生自带 EventEmitter 模块,可见它的重要性。       作为在工作中经常遇到和面试的经典题目当然要琢磨透彻,下面一步

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有