fn

jQuery中事件绑定

半世苍凉 提交于 2020-01-11 10:06:34
一、前言 最近在做项目中要用到jQuery来绑定事件,首先想到的是$(selector).事件名();这样绑定事件的方式,这种方式对事件进行绑定其实也就是bind()方法,但当选择器匹配的元素过多,$(selector).事件名();对每个元素进行迭代绑定,会影响性能。除了这种方式可以绑定事件以外,还有live()(已过期)、delegate()、on()方法绑定事件,接下来分析一下它们的区别,以及使用哪种方式最值得推荐。由于live()方法已过期,只分析另外三种,欢迎拍砖、吐槽~~~ 二、用法与区别 先准备一个example,用于不同方法绑定事件测试与对比。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>on()、delegate()、bind()事件绑定测试</title> <link rel="stylesheet" type="text/css" href="bootstrap.css"> </head> <body> <div style="width:800px;margin:50px auto;"> <botton class="btn btn-success" id="btn">新增一个p元素</botton> <p>1</p> <p>2</p> </div>

[ jquery 方法 removeClass([class|fn]) ] 此方法为每个匹配的元素删除指定的类名

99封情书 提交于 2020-01-11 06:53:14
从所有匹配的元素中删除全部或者指定的类:   如果参数是callback,那么需要返回的是属性名,函数传参解释如下:     1. index参数为对象在这个集合中的索引     2. class参数为这个对象原先的class属性值 实例: <!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title> <meta http-equiv='description' content='this is my page'> <meta http-equiv='keywords' content='keyword1,keyword2,keyword3'> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <!-- <script type='text/javascript' src='./js/jquery-3.0.0.js'></script> --> <script type='text/javascript' src='./js/jquery-1.12.1.min.js'></script> <style type='text/css'> input{font:400 13px/20px 'Courier New'

联想ideapad关闭Fn

て烟熏妆下的殇ゞ 提交于 2020-01-11 04:11:05
1.打开bios 开启/重启电脑的时候长按Fn+F2,就可以打开bios面板 2.切换到configuration菜单 使用键盘的右箭头将切换到configuration 3.关闭Fn 使用键盘下箭头将光标切换到Hotkeys【好像是叫这个,右边可以看到相应提示的】,在点击enter,弹窗中选择上下箭头选中disable,再enter 4.保存设置 同时按住Fn+F10,提示是否保存并退出,选择yes 5.等待电脑启动就行了 完美,电脑启动后Fn就关闭了,使用F1-F12就是单纯的F1-F12了,如果要使用附加功能在组合Fn即可~ 来源: https://www.cnblogs.com/smileyes/p/6813699.html

EventHub简单实现

给你一囗甜甜゛ 提交于 2020-01-10 18:21:58
以下是EventHub的简单实现 class EventHub { constructor() { this.events = {} } on(eventName, fn) { if(!this.events[eventName]) { this.events[eventName] = [] } this.events[eventName].push(fn) } emit(eventName, params) { let fnLists = this.events[eventName] if(Array.isArray(fnLists) && fnLists.length > 0) { fnLists.map(fnList => { fnList.apply(this, params) }) } } off(eventName, fn) { let fnLists = this.events[eventName] for(let i=0, len=fnLists; i < len; i++) { if(fnLists[i] === fn) { delete fnLists[i] break; } } } } 来源: CSDN 作者: 卡卡的笔录 链接: https://blog.csdn.net/m0_38102188/article/details/103927214

0168 注册事件(2种方式),监听事件,删除事件

ぃ、小莉子 提交于 2020-01-10 13:22:32
1.3.1 注册事件(2种方式) 给元素添加事件,称为 注册事件 或者 绑定事件 。 注册事件有两种方式: 传统方式 和 方法监听 注册方式。 1.3.1.1 传统注册方式 利用 on 开头的事件 onclick 特点: 1、注册事件的 唯一性 2、同一个元素同一个事件只能设置一个处理函数,最后注册的处理函数将会覆盖前面注册的处理函数 <button onclick=“alert('hi~')”></button> btn.onclick = function() {} 1.3.1.2 方法监听注册方式 1、w3c 标准 推荐方式 2、addEventListener() 是一个方法 3、IE9 之前的 IE 不支持此方法,可使用 attachEvent() 代替 4、特点: (1)同一个元素同一个事件可以注册多个监听器 (2)按注册顺序依次执行 1.3.2 事件监听 1.3.2.1 addEventListener()事件监听(IE9以后支持) eventTarget.addEventListener(type, listener[, useCapture]) eventTarget.addEventListener()方法将指定的监听器注册到 eventTarget(目标对象)上,当该对象触发指定的事件时,就会执行事件处理函数。 该方法接收3个参数: type:事件类型字符串

DataWhale初级算法梳理—Task01:机器学习综述

梦想与她 提交于 2020-01-08 20:55:45
机器学习概述 1.机器学习分类 1.1 监督学习: 利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程,也称为监督训练或有教师学习。监督学习的训练集要求包括输入和输出,主要应用于分类和预测。 1.2 非监督学习: 从数据集中发现隐含的某种结构,获得样本数据的结构特征,判断哪些数据比较相似。 1.3半监督学习 监督学习和非监督学习的结合,其在训练阶段使用的是未标记的数据和已标记的数据,不仅要学习属性之间的结构关系,也要输出分类模型进行预测。 1.4 强化学习: 强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。 2.机器学习算法 2.1 线性算法(Linear Algorithms): 线性回归(Linear Regression)、套索回归(Lasso Regression)、岭回归(Ridge Regression)、逻辑回归(Logistic Regression) 2.2 决策树(Decision Tree): ID3、C4.5、CART 2.3 支持向量机(SVM) 2.4 朴素贝叶斯算法(Naive Bayes Algorithms): 朴素贝叶斯(Naive Bayes)

三个方法解决error: use of moved value

佐手、 提交于 2020-01-07 16:39:19
https://www.tuicool.com/articles/UfIvemA 2015 年 6 月 4 日 概述 “error: use of moved value”,相信最近开始玩rust的同学看到这个报错都能会心一笑了。 rust做到了不依赖运行期垃圾回收的安全内存管理,但这个特别爽快的特性也引入了一些不便,这报错就是常见的麻烦之一。 这报错要是想展开说清楚,需要完整解释rust的ownership、borrowing、lifetime等概念,那是一篇太长的文章。 我们先暂时放下概念,用三个不同的方法动手解决这个报错。 错误 我们以下面这段程序为基础展开我们的讨论,这里面主要定义的就是一个Info结构体。 struct Info { s: String, } fn fn_a(info: Info) { println!("in fn_a"); } fn main() { let foo = Info {s : "abc".to_string() }; fn_a(foo); } 首先,我们要制造出报错“use of moved value”。很简单,我们只需要以foo为参数再调用一次fn_a()就好。 struct Info { s: String, } fn fn_a(info: Info) { println!("in fn_a"); } fn main() { let

python的一些高阶用法

ぐ巨炮叔叔 提交于 2020-01-07 07:04:51
map的用法 def fn(x): return x*2 L1 = [1,2,3,4,5,6] L2 = list(map(fn,L1)) L2 [2, 4, 6, 8, 10, 12] 通过上面的运行,可以知道map就是把一个数组内所有的元素都执行map加入的方法。 用法如下 map(方法,数组) reduce的用法 先看例子 from functools import reduce def add(x,y): return x + y L1 = [1,2,3,4,5,6] L2 = reduce(add,L1) L2 21 通过上面的例子,直观的来看,我们可以发现reduce和map方法有一些不一样。 map是python自带的函数,而reduce需要引入functools map 返回的是一个map对象,而reduce是返回的一个数字 map函数需要一个参数,而reduce的参数需要两个。 map是对一个集合中的每个元素执行指定的方法。而reduce则是依次对集合的元素调用指定的方法。先把前两个参数执行reduce以后形成的返回之作为第一个参数,再和第三个参数形成返回值,依次执行。 filter函数 filter则是对集合的每个元素执行一次判断,能让filter指定的函数返回真值则返回,否则则不出现在返回集合中。 def fn(x): return x%2 ==0 L1 =

0143 JavaScript预解析:概念、变量预解析、函数预解析、函数表达式声明函数问题、案例

心不动则不痛 提交于 2020-01-07 03:20:08
4.1 预解析的相关概念 JavaScript 代码是由浏览器中的 JavaScript 解析器来执行的。 JavaScript 解析器在运行 JavaScript 代码的时候分为两步:预解析 和 代码执行。 预解析:在当前作用域下, JS 代码执行之前,浏览器会默认把带有 var 和 function 声明的变量在内存中进行提前声明或者定义。 【提升到当前作用域的最顶部。】 代码执行: 从上到下执行JS语句。 预解析会把变量和函数的声明在代码执行之前执行完成。 【 声明提前,赋值留在原地 。】 4.2 变量预解析 预解析也叫做变量、函数提升。 变量提升(变量预解析): 变量的声明会被提升到当前作用域的最上面,变量的赋值不会提升。 console.log(num); // 结果是多少? var num = 10; // ? 结果:undefined 注意:**变量提升只提升声明,不提升赋值** 4.3 函数预解析 函数提升: 函数的声明会被提升到当前作用域的最上面,但是不会调用函数。 注意:`函数声明代表函数整体,所以函数提升后,函数名代表整个函数,但是函数并没有被调用!` fn(); function fn() { console.log('打印'); } 结果:控制台打印字符串 --- ”打印“ 4.4 函数表达式声明函数问题 函数表达式创建函数,会执行变量提升

H5audio方法,事件

陌路散爱 提交于 2020-01-06 19:11:28
H5是一个规范 H5核心 是新增的 jsAPI H5是所有新技术的泛指 controls 是否在页面(true[display:block]/false[display:none]) jquery对象.get(0) 转为don对象 对象.on('click',false);阻止事件冒泡 w=Math.round(s);//四舍五入 audio方法 audio.play()运行 audio.pause()暂停 audio.volume(读/写) 音量【0--1】 audio.src(读/写) 歌曲地址 audio.currentTime(读/写) 歌曲当前已播放时长 audio.duration(读) 歌曲的总长度 audio.paused(读) 布尔类型 是否处于暂停状态 audio.ended(读) 布尔类型 歌曲是否已经播放完毕 事件 audio.oncanplay = fn()当歌曲下载完之后调用fn audio.onvolumechange = fn()当audio.volume发生变换的时候调用fn audio.onplay = fn()歌曲开始播放之后调用fn audio.onpause = fn()歌曲暂停之后调用fn audio.ontimeupdate = fn()歌曲在播放的过程中会一直调用fn audio.onended = fn()一首歌曲播放完之后调用fn