监听器

jQuery中bind,live,delegate,on绑定事件的方式与区别

独自空忆成欢 提交于 2020-01-23 04:54:25
【转】 jQuery中bind,live,delegate,on绑定事件的方式与区别 jQuery中提供了四种事件监听方式,分别是bind、live、delegate、on,对应的解除监听的函数分别是unbind、die、undelegate、off。 已知有4个列表元素:   列表元素1   列表元素2   列表元素3   列表元素4   1、bind bind(type,[data],function(eventObject)) bind是使用频率较高的一种,作用就是在选择到的元素上绑定特定事件类型的监听函数,参数的含义如下: type:事件类型,如click、change、mouseover等; data:传入监听函数的参数,通过event.data取到。可选; function:监听函数,可传入event对象,这里的event是jQuery封装的event对象,与原生的event对象有区别,使用时需要注意。   源码: bind: function( types, data, fn ) { return this.on( types, null, data, fn ); }   可以看到内部是调用了on方法。   bind的特点就是会把监听器绑定到目标元素上,有一个绑一个,在页面上的元素不会动态添加的时候使用它没什么问题。但如果列表中动态增加一个“列表元素5”

JS事件

耗尽温柔 提交于 2020-01-22 00:52:03
通常鼠标或热键的动作我们称之为事件(Event) 通过JS事件,我们可以完成页面的指定特效 1、JS事件驱动机制 页面上的特效,我们可以理解在JS事件驱动机制下进行 JS事件驱动机制: 事件源 事件 监听器 注册/绑定监听器 事件源:专门产生事件的组件 事件:由事件源所产生的动作或者事件 监听器:专门处理事件源所产生的事件 注册/绑定监听器:让监听器时刻监听事件源是否有指定事件产生,如果事件源产生指定事件,则调用监听器 2、常见的JS事件 来源: https://www.cnblogs.com/liang-xp/p/12227493.html

为什么kafka客户端需要配置 /etc/hosts文件

别说谁变了你拦得住时间么 提交于 2020-01-21 22:26:52
问题背景 前段时间,遇到一个kafka集群部署在k8s中,而kafka客户端在另一个k8s集群的pod的容器中,kafka集群中配置的advertised_listeners便是hostname。然而当时我只知道kafka集群的ip地址,当在客户端直接使用ip操作broker的时候便报错无法解析一个hostname。 当时不知道什么原因,只听同事说需要在kafka客户端对应的yaml文件中添加 HostAliases 字段然后重新部署kafka客户端所在的pod。 然后便可以访问了。 不明所以然的我,查了一下hostAliases的使用发现没什么特别之处。然后查了listeners的使用也没有说是可以携带域名之类的 最后查了一下kafka客户端的请求过程才明白是怎么回事(笔者接触kafka不久只是阅读过文档并没有了解到其客户端的请求过程和步骤,所以迷惑了这么久 - _ -) kafka broker配置介绍 kafka listeners及其相关配置项的作用 先来看一下官方文档对kafka broker中有关listeners配置项的介绍: 名称 描述 类型 默认值 有效值 重要性 listeners 监听器列表 - 使用逗号分隔URI列表和监听器名称。如果侦听器名称不是安全协议,则还必须设置listener.security.protocol.map。指定主机名为0.0.0

过滤器,监听器,拦截器

匆匆过客 提交于 2020-01-21 15:10:27
在网上查询的过滤器和拦截器的区别,基本都是以下一模一样的5行话。 1、拦截器是基于 Java 的反射机制的,而过滤器是基于函数回调 2、过滤器依赖与servlet容器,而拦截器不依赖与servlet容器 3、拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用 4、拦截器可以访问action上下文、值栈里的对象,而过滤器不能 5、在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次 执行顺序:过滤前 - 拦截前 - Action处理 - 拦截后 -过滤后。个人认为过滤是一个横向的过程,首先把客户端提交的内容进行过滤(例如未登录用户不能访问内部页面的处理);过滤通过后,拦截器将检查用户提交数据的验证,做一些前期的数据处理,接着把处理后的数据发给对应的Action;Action处理完成返回后,拦截器还可以做其他过程,再向上返回到过滤器的后续操作。 过滤器(Filter):当你有一堆东西的时候,你只希望选择符合你要求的某一些东西。定义这些要求的工具,就是过滤器。 拦截器(Interceptor):在一个流程正在进行的时候,你希望干预它的进展,甚至终止它进行,这是拦截器做的事情。 监听器(Listener):当一个事件发生的时候,你希望获得这个事件发生的详细信息,而并不想干预这个事件本身的进程,这就要用到监听器。 来源: https:/

Android_Day_1 初识安卓Activity

江枫思渺然 提交于 2020-01-21 09:24:45
Android_Day_1 初识安卓Activity 悠哉寒假,苦学java。 眨眼间寒假已经过去了半个月,早上八点躺在床上像婴儿一般醒来,就萌发了想开发安卓app的想法。购买了和java启蒙书一套的《疯狂Android讲义》,好家伙七百多页。看书看得脑壳疼啊,但功夫不负有心人,从早上到下午,也能摸着自己记的笔记写上几个Activity了。 一番摸索后,做出了一个小例子:非常简单的两个Activity界面互跳转,这边按下按钮到①页,那边按下按钮回到②页 早在一开始的时候我有想过安卓是怎样获取用户是否点击过屏幕、点击的是哪一块,这一块将会做什么事。今天才知道了这东西有正经名字: 监听器 . //一个按钮监听器 class MybuttenListener implements View . OnClickListener { @Override public void onClick ( View v ) { Intent intent = new Intent ( ) ; intent . putExtra ( "value" , "这里是第二页" ) ; intent . setClass ( MainActivity . this , Activity02 . class ) ; MainActivity . this . startActivity ( intent ) ;

Go 每日一库之 fsnotify

守給你的承諾、 提交于 2020-01-21 07:06:52
简介 上一篇文章 Go 每日一库之 viper 中,我们介绍了 viper 可以监听文件修改进而自动重新加载。 其内部使用的就是 fsnotify 这个库,它是跨平台的。今天我们就来介绍一下它。 快速使用 先安装: $ go get github.com/fsnotify/fsnotify 后使用: package main import ( "log" "github.com/fsnotify/fsnotify" ) func main() { watcher, err := fsnotify.NewWatcher() if err != nil { log.Fatal("NewWatcher failed: ", err) } defer watcher.Close() done := make(chan bool) go func() { defer close(done) for { select { case event, ok := <-watcher.Events: if !ok { return } log.Printf("%s %s\n", event.Name, event.Op) case err, ok := <-watcher.Errors: if !ok { return } log.Println("error:", err) } } }() err

vue的实例方法与内置组件

社会主义新天地 提交于 2020-01-21 03:14:53
slot内置组件的使用 说明:slot的意思是插槽,vue中用来做内容的分发,接下来具体来说明slot的作用与分类 首先定义一个slot.vue的子组件,代码如图: 接着在父组件App.vue页面中引入并注册slot.vue组件,我们就能在App.vue父组件中使用slot.vue组件了,如图: 渲染结果为: 可以看到我是插值这四个字并没有渲染,要想这个四个字渲染,就要使用slot,我只需将slot.vue加一个slot标签就可以做到了,如图: 这个时候的渲染结果为: 当我将我是插值这个四个删除呢?如图: 渲染的就是slot标签里的内容 <slot> 就是外部调用时,标签中的内容。如果外部调用时没有提供内容的话,那么它就会使用自己默认提供的内容 上面就是单个slot的使用,接下里说具名slot 首先还是定义一个slot.vue的子组件,在父组件App.vue中引入并注册slot.vue组件,并在父组件中定义一些数据,代码如下: 接着是slot.vue的写法: 这就是具名slot,其实就是给每个slot取了个名字一样,渲染结果: 讲了这么多,好像不明白slot的应用场景吧。我对solt的理解是当组件中某一项需要单独定义,那么就应该使用solt。 举例说明。例如项目中需要一个模态框提示 付款成功,付款失败。那么这个模态框也就仅仅差这几个字或者是状态图片而已

ActiveMQ_监听器(四)

风流意气都作罢 提交于 2020-01-19 11:30:40
一、本文章包含的内容 1、列举了ActiveMQ中监听器的使用 2、spring+activemq方式 1 2 3 <!-- 消息监听容器(Queue),配置连接工厂,监听的队列是queue3,监听器是上面定义的监听器 --> <!--加载spring配置后,studentInfoHandler的onMessage方法自动运行并接收队列--> 二、配置文件(spring-jms.xml) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 <? xml version = "1.0" encoding = "UTF-8" ?> < beans xmlns = " http://www.springframework.org/schema/beans " xmlns:xsi = " http://www.w3.org/2001/XMLSchema-instance " xmlns:context = " http://www.springframework.org/schema/context " xmlns:jms = " http://www.springframework.org

Java 之 GUI

空扰寡人 提交于 2020-01-19 05:50:43
1.SWT:   a.组成:①java.awt包:工具类——颜色、字体类等       ②javax.swing包:容器类 与 组件 (java.awt包中容器类与组件的升级版,以J打头)   b.总结:SWT = Swing + AWT 2.容器:   a.首层容器:JWindow、JFrame、JDialoge、JApplet   b.中间容器:Jpanel   c.组件:     ①标签——JLabel (注:JLabel也能做容器)     ②文本框——JTextField      密码框——JPasswordField     ③按钮——JButton     ④下拉列表——JComboBox<String>     ⑤单选框——JRadioButton     ⑥复选框——JRadioButton     ⑦文本域——JTextArea 3.布局:   a.分类:①边界布局管理器(麻将布局)——BorderLayout       ②流布局管理器——FlowLayout       ③网格布局管理器——GridLayout       ④卡片布局管理器——CardLayout   b.边界布局:     ①特点:把整个容器划分为5个部分;东西南北中,南北要贯通,中间最大(不仅是中间的范围最大,权利也最大)         当周边不存在的时候中间会占领周边