event

jQuery绑定事件的四种方式

匆匆过客 提交于 2020-01-16 04:32:57
jQuery提供了多种绑定事件的方式,每种方式各有其特点,明白了它们之间的异同点,有助于我们在写代码的时候进行正确的选择,从而写出优雅而容易维护的代码。下面我们来看下jQuery中绑定事件的方式都有哪些。 jQuery中提供了四种事件监听方式,分别是bind、live、delegate、on,对应的解除监听的函数分别是unbind、die、undelegate、off。在开始看他们之前 一:bind(type,[data],function(eventObject)) bind是使用频率较高的一种,作用就是在选择到的元素上绑定特定事件类型的监听函数,参数的含义如下: type:事件类型,如click、change、mouseover等; data:传入监听函数的参数,通过event.data取到。可选; function:监听函数,可传入event对象,这里的event是jQuery封装的event对象,与原生的event对象有区别,使用时需要注意 bind的源码: 1 2 3 4 5 6 7 bind: function ( types, data, fn ) { return this .on( types, null , data, fn ); } $( '#myol li' ).bind( 'click' ,getHtml); bind的特点就是会把监听器绑定到目标元素上

【JQuery】基础

爱⌒轻易说出口 提交于 2020-01-16 03:43:30
event.pageX;event.pageY, function参数传入event,并返回当前鼠标的位置 $(document).mousemove(function(event){ $("span").text("X: " + event.pageX + ", Y: " + event.pageY); }); 常用的事件: select(): input 里面的文本被选中 $('input').select(function(){ alert('selected!') }) $('input').select();//导致文本内容被选中 trigger() 与 .triggerHandler():两者都是触发事件,具体区别: https://www.runoob.com/jquery/event-trigger.html $("input").trigger("select"); $("p").trigger("myPara", [参数1,参数2,参数n]); bind():被on()替代 on():在被选元素及子元素上添加 一个或多个事件 处理程序 https://www.runoob.com/jquery/event-on.html $('div').on(event, [childSelector], [data], function(){}) $('div').on(

Vue拖拽交换数据(非插件)

核能气质少年 提交于 2020-01-15 22:56:18
HelloWorld.vue 文件 <template> <div class="hello"> <h1>{{ msg }}</h1> <div> <div class="team" v-for="(team,tindex) in teamDataArr" :key="tindex"> <div class="member" v-for="(item,cindex) in team.children" :key="cindex" :data-id="tindex+'-'+cindex" draggable="true" @dragstart="onDragstart($event)" @dragend="onDragend($event)" @dragover="onDragover($event)" @drop="onDrop($event)"> <div>{{item.id}}</div> <div>{{item.name}}</div> <div>{{item.mobile}}</div> </div> </div> </div> </div> </template> <script> export default { name: 'HelloWorld', data () { return { msg: 'Hello World', startExchangeIndex:

jQuery绑定事件的四种方式

こ雲淡風輕ζ 提交于 2020-01-15 08:55:25
jQuery绑定事件的四种方式 jQuery提供了多种绑定事件的方式,每种方式各有其特点,明白了它们之间的异同点,有助于我们在写代码的时候进行正确的选择,从而写出优雅而容易维护的代码。下面我们来看下jQuery中绑定事件的方式都有哪些。 jQuery中提供了四种事件监听方式,分别是bind、live、delegate、on,对应的解除监听的函数分别是unbind、die、undelegate、off。在开始看他们之前 一:bind(type,[data],function(eventObject)) bind是使用频率较高的一种,作用就是在选择到的元素上绑定特定事件类型的监听函数,参数的含义如下: type:事件类型,如click、change、mouseover等; data:传入监听函数的参数,通过event.data取到。可选; function:监听函数,可传入event对象,这里的event是jQuery封装的event对象,与原生的event对象有区别,使用时需要注意 bind的源码: 1 2 3 4 5 6 7 bind: function ( types, data, fn ) { return this .on( types, null , data, fn ); } $( '#myol li' ).bind( 'click' ,getHtml);

线程的知识点补充

房东的猫 提交于 2020-01-15 04:24:32
GIL全局解释器锁 """ In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple native threads from executing Python bytecodes at once. This lock is necessary mainly because CPython’s memory management is not thread-safe. """ """ ps:python解释器有很多种 最常见的就是CPython解释器 CIL本质也是一把互斥锁:将并发变成串行牺牲效率保证数据的安全 用来阻止同一个进程下的多个线程的同时执行(同一个进程内多个线程无法实现并行但是可以实现并发) python的多线程没法利用多核优势 是不是就是没有用了? GIL的存在是因为CPython解释器的内存管理不是线程安全的 垃圾回收机制 1.引用计数 2.标记清除 3.分代回收 研究python的多线程是否有用需要分情况讨论 四个任务 计算密集型的 10s 单核情况下 开线程更省资源 多核情况下 开进程 10s 开线程 40s 四个任务 IO密集型的 单核情况下 开线程更节省资源 多核情况下 开线程更节省资源 """ # 计算密集型 # from

Libevent 定时器

谁说胖子不能爱 提交于 2020-01-14 04:43:46
先摘一点网上的介绍 libevent是一个事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制。著名分布式缓存 软件 memcached也是libevent based,而且libevent在使用上可以做到跨平台,而且根据libevent官方网站上公布的数据统计,似乎也有着非凡的性能。 接着我们先直接看一个例子,该例子每隔几秒输出一个句子 #include <iostream> #include <event.h> #include <ctime> using namespace std; void cb(evutil_socket_t fd, short what, void *arg) { cout<<"event ocurrence every 2 seconds."<<endl; } int main() { timeval two_sec = {2, 0}; event_base *base = event_base_new(); event *timeout = event_new(base, -1, EV_PERSIST|EV_TIMEOUT, cb, NULL); event_add(timeout, &two_sec); event_base_dispatch(base);

【前端技巧】教你如何选中元素内的所有文本内容

江枫思渺然 提交于 2020-01-13 18:15:55
背景 有一块 div 元素包含一段内容, 想要利用 CTRL+A 选中那块 div 元素下的的区间. 同时我又不想选中 div以外的内容, 默认情况下会将整个html页面可以选中的内容选中. <div> <p>我想被选中</p> </div> 实践 <div contenteditable="true" id="app"> <p> 我想被Ctrl+A选中 </p> <br /> <p> 我也想被Ctrl+A选中 </p> </div> <script> var app = document.getElementById('app'); app && app.addEventListener('keydown', function (event) { if ((event.ctrlKey || event.metaKey) && event.keyCode == 65) { console.log('allow') } else { event.preventDefault ? event.preventDefault() : event.returnValue = false; } }); </script> 原理 利用 contenteditable 属性, 让元素拥有控件自带的类似 input , textarea 输入特性, 那么使用 ctrl + a 或 command +

jQuery模仿google的自动完成代码

為{幸葍}努か 提交于 2020-01-13 01:18:40
前端的html代码: Code <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > < html xmlns ="http://www.w3.org/1999/xhtml" > < head > < meta http-equiv ="Content-Type" content ="text/html; charset=utf-8" /> < title > jQuery autoConplete </ title > < script language ="javascript" src ="jquery.js" ></ script > < style type ="text/css" > * { margin : 0px ; padding : 0px ; } body { text-align : center ; padding-top : 100px ; font-size : 12px ; } table { margin : auto ; } #Keyword { width : 350px ; } div#content { position : relative ; }

前端必须掌握的自动化部署(webhooks)

蹲街弑〆低调 提交于 2020-01-12 23:25:20
缘起 最近用Gatsby 写了一个个人blog,link => http://new.ruoduan.cn/ Github 🙏🙏🙏 Star 发现 build 后体积太大,FTP 发文件 都要10几分钟,挑选来下自动化部署工具🔧,本打算用 jenkins 感觉有点重,而且学习成本较高。 看了一下觉得 使用 github的webHooks 是最合适的 Graph 大致流程是这样的:👇 话不多说直接上代码 代码分为三个部分 Nodejs => Server Shell 脚本 插件 install 我的环境是 CentOS 服务器 应具备 nodejs && git 首先先安装 github-webhooks的插件和pm2 服务器上 npm install -g github-webhook-handler pm2 nodejs 服务 webhooks.js var http = require ( 'http' ) // github-webhook-handler 的绝对路径 var createHandler = require ( '/usr/lib/node_modules/github-webhook-handler' ) var handler = createHandler ( { path : '/' , secret : 'xxx' } ) // 上面的 secret

Android8.0 禁止通知栏下拉

吃可爱长大的小学妹 提交于 2020-01-12 16:12:57
最近在开发电子白板项目,系统用的是Android8.0,有一些Android手机上的功能是不需要的,如通知栏下拉 需求是通知可以弹出,可以点击,可以左右滑清除,但是不能下拉 需求有了,那就开始改吧 首先要先找到通知栏代码的位置 通知栏的代码是在 SystemUI(frameworks\base\packages\SystemUI\src\com\android\systemui\) 先找到 PhoneStatusBarView , PhoneStatusBarView 是负责状态栏的绘制和管理,代码位置是在 (frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\PhoneStatusBarView.java) 因为是点击下拉,所以直接看 onTouchEvent 的代码 @Override public boolean onTouchEvent(MotionEvent event) { boolean barConsumedEvent = mBar.interceptTouchEvent(event); if (DEBUG_GESTURES) { if (event.getActionMasked() != MotionEvent.ACTION_MOVE) { EventLog