event

pysimplegui模块实现倒计时UI框

北城以北 提交于 2020-01-21 15:52:19
一、代码 import sys if sys.version_info[0] >= 3: import PySimpleGUI as sg else: import PySimpleGUI27 as sg import time sg.ChangeLookAndFeel('Black') sg.SetOptions(element_padding=(0, 0)) layout = [[sg.Text('')], [sg.Text('', size=(8, 2), font=('Helvetica', 20), justification='center', key='text')], [sg.Button('Pause', key='button', button_color=('white', '#001480')), sg.Button('Reset', button_color=('white', '#007339'), key='Reset'), sg.Exit(button_color=('white', 'firebrick4'), key='Exit')]] window = sg.Window('Running Timer', layout, no_titlebar=True, auto_size_buttons=False, keep_on_top=True,

Disruptor并发框架,核心组件RingBuffer

╄→尐↘猪︶ㄣ 提交于 2020-01-21 01:57:25
1.1 Disruptor并发框架简介 Martin Fowler在自己网站上写了一篇LMAX架构的文章,在文章中他介绍了LMAX是一种新型零售金融交易平台,它能够以很低的延迟产生大量交易。这个系统是建立在JVM平台上,其核心是一个业务逻辑处理器,它能够在一个线程里每秒处理6百万订单。业务逻辑处理器完全是运行在内存中,使用事件源驱动方式。业务逻辑处理器的核心是Disruptor。 Disruptor它是一个开源的并发框架,并获得2011 Duke’s 程序框架创新奖,能够在无锁的情况下实现网络的Queue并发操作。 Disruptor是一个高性能的异步处理框架,或者可以认为是最快的消息框架(轻量的JMS),也可以认为是一个观察者模式的实现,或者事件监听模式的实现。 1.2 Disruptor并发框架使用 目前我们使用disruptor已经更新到了3.x版本,比之前的2.x版本性能更加的优秀,提供更多的API使用方式。 下载disruptor-3.3.2.jar引入我们的项目既可以开始disruptor之旅。 在使用之前,首先说明disruptor主要功能加以说明,你可以理解为他是一种高效的"生产者-消费者"模型。也就性能远远高于传统的BlockingQueue容器。 官方学习网站:http://ifeve.com/disruptor-getting-started/

前端事件绑定知识点(面试常考)

时间秒杀一切 提交于 2020-01-20 20:20:28
简介 事件是可以被 JavaScript 侦测到的行为。 网页中的每个元素都可以产生某些可以触发 JavaScript 函数或程序的事件。 事件通常与函数配合使用,当事件发生时函数才会执行。 执行JS 事件的方式: HTML 事件属性可以直接执行 JavaScript 代码 HTML 事件属性可以调用 JavaScript 函数 你可以为 HTML 元素指定自己的事件处理程序 你可以阻止事件的发生。 等等 ... 常用的JS事件 type 鼠标单击事件 onclick 鼠标经过事件 onmouseover 鼠标移开事件 onmouseout 聚焦事件 onfocus 失焦事件 onblur 加载事件 onload 刷新页面 onunload(貌似只对IE有效) 关闭页面 onbeforeunload(貌似只对IE有效) 事件流 事件流描述的是从页面中接受事件的顺序。 IE 的事件流是 事件冒泡流 ,事件由子元素获取并沿DOM树向上传播。即事件最开始由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上转播至最不具体的节点(document),用 stopPropagation() 方法终止冒泡。 Netscape 的事件流是 事件捕获流 ,事件由根元素获取并沿DOM树向下分发。与事件冒泡流相反,事件捕获的思想是不太具体的节点(document)应该更早接收到事件

放大镜

丶灬走出姿态 提交于 2020-01-20 20:02:12
放大镜 1.理解什么是放大镜? 当鼠标移动到图片上时,会把该区域图片放大,让用户更清晰看见。 2.思路 设置一个大的div模块zoom,里面包含两个小div模块(用来放两张图片,一个是原始图,一个是鼠标移动所放大的局部图)。 先对主体body进行搭建 html代码: css部分样式代码: 浏览器运行效果如下: 补充:对上述css代码进行补充,去掉我所注释代码,把big(div)模块多余隐藏。 效果如下: 接下来我们需要写一个原生JS代码,需满足的功能有 1.当鼠标移动到small块时,红色的遮挡层出现,同时big块出现。 2.当鼠标移除small块时,红色的遮挡层消失,同时big块消失。 3.当鼠标移动时,红色遮挡层跟随鼠标移动,同时big块里大图跟随移动。 敲重点!!!!这里需注意几个思想 a)小图/大图=遮挡层/大图显示区(big块) 遮挡层=大显示区*(小图/大图) b)遮挡层的移动范围=small(div块)的宽/高-遮挡层的宽/高 大图的移动范围=大图的宽/高-big(块的宽高) 上图代码如下,0.5是因为鼠标在遮挡层的中间 //获取鼠标位置(赋值给遮罩层的) var x=event.clientX-small.offsetLeft-span.offsetWidth*0.5; var y=event.clientY-small.offsetTop-span

js——ev || window.event,event.srcElement || event.target

≯℡__Kan透↙ 提交于 2020-01-20 19:36:18
参考: https://blog.csdn.net/u012528184/article/details/41694155     https://www.cnblogs.com/lilirufeng/p/6045969.html 注:我用的是vue,一般js同理。 页面: <div @click="getAttribute">   <div v-for="(item,index) in list" :key="index">    <p :gid="item.gid">{{item.text}}<p>   </div> </div> getAttribute: getAttribute(ev) {   var eve = ev || window.event; //兼容写法,在FireFox浏览器中,事件绑定的函数要获取到事件本身,需要从函数中传入,而IE等浏览器则可以直接使用event或者window.event得到事件本身。   var target = eve.target || eve.srcElement; //event.srcElemen:当前事件的源,相当于jq的$(this)事件,直接获得事件源,就是你产生事件的源;兼容写法,IE下,event对象有srcElement属性,但是没有target属性;Firefox下,event对象有target属性

Vue基础篇--6事件处理

不羁岁月 提交于 2020-01-20 00:13:30
Vue基础篇--6事件处理 1.监听事件 可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码。 示例 <div id="exp"> <button v-on:click="count +=1">add 1</button> <p>The button above has been clicked {{count}} times.</p> </div> new Vue({ el:"#exp", data:{ count:0 } }) 2.事件处理方法 然而许多事件处理逻辑会更为复杂,所以直接把 JavaScript 代码写在 v-on 指令中是不可行的。因此 v-on 还可以接收一个需要调用的方法名称。 <div id="exp"> <button v-on:click="greet">add 1</button> <p>The button above has been clicked {{count}} times.</p> </div> new Vue({ el:"#exp", data:{ count:0 }, methods:{ greet:function (event) { console.log(event); this.count++ } } }) 3.内联处理器中方法 除了直接绑定到一个方法,也可以在内联 JavaScript

组件使用v-model、$listeners、.sync(区别于v-model的双向数据绑定)

妖精的绣舞 提交于 2020-01-19 21:24:58
自定义组件 自定义组件的v-model 首先我们先说一下在自定义组件中使用v-model的必要条件 在自定义的组件中要有input(这里我们先不讨论单选复选框) 在自定义组件的模板对象中要有props属性,且里面要含有一个value 在自定义组件的input标签上要绑定value属性值为props中传入的值,且还需要发出一个input事件 这样讲可能会有点难理解,还是上代码吧... <div id="app"> <child-com v-model="message"></child-com> <span>{{ message }}</span> </div> <template id="childCom"> <div> <input type="text" :value="value" @input='inputEvent'> </div> </template> <script> const childCom = { template: '#childCom', props: ['value'], methods: { inputEvent(event) { this.$emit('aaa', event.target.value) } }, } const vm = new Vue({ el: '#app', data: { message: '可以双向绑定的了' },

Uploadify使用说明

时光毁灭记忆、已成空白 提交于 2020-01-19 20:04:32
Uploadify 使用说明 什么是 Uploadify 原文: Uploadify is a jQuery plugin that integrates a fully-customizable multiple file upload utility on your website. It uses a mixture of Javascript, ActionScript, and any server-side language to dynamically create an instance over any DOM element on a page. 译文: Uploadify 是一个 jQuery 插件,集成了一个完全可定制的多个文件上传您的网站上的效用。它混合使用的 Javascript , ActionScript ,和任何服务器端语言来动态创建的任何一个页面上的 DOM 元素的一个实例。 原文 : Uploadify was born out of the need for a multiple file upload utility for a CMS that was being developed. After evaluating the other available options, RonnieSan decided the best

Vue进阶(九十二):窗口间通信postMessage

我是研究僧i 提交于 2020-01-19 19:18:42
在前端应用中,窗口间的通信用的地方还是挺多的,比如弹出qq登录认证窗。 postMessage语法 window.postMessage(msg,targetOrigin) 注意 postMessage 要通过window对象调用!因为这里的window不只是当前window,大部分使用postMessage的时候,都不是本页面的window,而是其他网页的window!如: iframe的contentWindow 通过window.open方法打开的新窗口的window window.opener 如果你使用postMessage时没有带window,那么,你就是用的本页面的window来调用了它。 参数说明 msg 这就是要传递的消息了。它可以是一切javascript参数,如字符串,数字,对象,数组,而不是和json一样只局限于字符串。 targetOrigin 这个参数称作“目标域”,注意啦,是目标域不是本域!比如,你想在2.com的网页上往1.com网页上传消息,那么这个参数就是“http://1.com/”,而不是2.com. 另外,一个完整的域包括: 协议,主机名,端口号 。如:http://g.cn:80/ window.open 方法会返回一个窗口对象,使用这个对象可以向子窗口发送消息,而子窗口可以通过 window.opener 向父窗口发送消息,示例如下:

vue1.x 事件对象(二)

倖福魔咒の 提交于 2020-01-19 16:32:09
本文主要简述了event 对象,顺便复习了一下事件句柄 (Event Handlers),键盘的一些属性,以及最容易遇到的事件冒泡,同样的阻止事件冒泡,在vue 下是怎样解决的,vue 提供了那些方便去阻止事件冒泡。 1.事件句柄 (Event Handlers) HTML 4.0 的新特性之一是能够使 HTML 事件触发浏览器中的行为,比如当用户点击某个 HTML 元素时启动一段 JavaScript。下面是一个属性列表,可将之插入 HTML 标签以定义事件的行为。 看图: vue事件前面都是没有on,例如: @click="vclick($event)" 图片素材截图于 w3school 2.鼠标/键盘属性 说明:上面是属于event 对象的属性 例子: function box2click(event){ // alert(1); console.log('box2'); console.log(event); if(event.altKey){ console.log('事件被触发时候 alt 键被按下'); } } 3.IE属性 4.标准 Event 属性 type 可以知道是那个事件类型如 5.标准的Event 方法 6.以前的事件冒泡 div 里面放一个按钮,给div和按钮都加上点击事件 javascript处理方法: // 以前获取事件的方式 function