2019-01-11 input框事件,jQuery其他事件,自定义事件,事件冒泡,事件委托,节点操作

js事件的分类
事件的类型:有鼠标事件,键盘事件,HTML事件,变化事件
注意:js中的事件前面要加on (如:onclick onmouseover),但jquery中的事件不需要加on 如( [图片上传失败...(image-39e6ec-1547189649195)]

("Element").mouseover )
鼠标事件:(最常用)
click,dblclick,mousedown,,mouseupmouseout,mouseover,mousemove;
事件属性:
type:表明是什么事件;
target(DOM)或srcElement(IE):表明触发事件的对象;
shiftKey,ctrlKey,altKey,metaKey(DOM):是否按下了Shift,Ctrl,Alt,Meta键;
button:0-未按下键;1-按左键;2-按右键;3-同时按下左右;4-按下中键;5-按下左和中;6-按下右和中;7-同时按下左中右;

键盘事件:
keydown,keypress,keyup
事件属性:
keyCode:按下的键的代码(等于Unicode值)
charCode(DOM):键对应的代码和字符会有一个分离;
target(DOM)或srcElement(IE):表明触发事件的对象;
shiftKey,ctrlKey,altKey,metaKey(DOM):是否按下了Shift,Ctrl,Alt,Meta键;

HTML事件:(窗口,文档,表单)
load,upload,abort,error,select,change,submit,reset,resize,scroll,focus,blue

与window有关的有resize窗口调大调小事件,scroll滚动事件,

JS的冒泡事件
什么是冒泡事件?
在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window)

阻止事件冒泡的几种方法
第一种: event.stopPropagation();
第二种: return false;
第三种: event.preventDefault();

jQuery节点操作
1、查找元素节点

$("ul li:eq()");

2、查找属性节点

$("selector").attr("title")

3、创建节点

var li_1=("<li></li>");

var li_2=("<li></li>");

("ul").append(li_1);

4、创建文本节点、创建属性节点

除节点,而是清空节点

2、复制节点

clone():复制节点后,被复制的新元素并不具有任何i行为

clone(true):复制元素的同时同时复制所绑定的事件

3、替换节点

replaceWith()、replaceAll():

$("p").replaceWith("<strong></strong>");

4、包裹节点

$("strong").wrap("<b></b>");warp译为用...包裹(之前搞不清楚谁包裹谁,总是搞混,单词不过关┭┮﹏┭┮)

<p></p>

<p></p>

<p></p>

wrapAll():$("p").wrapAll("<b></b>")——<b><p></p><p></p><p></p></b>

wrap()单独包裹每个元素,<b><p></p></b> <b><p></p></b>

wrapInner():$("p").wrapInner("<b></b>")——<p><b></b></p>

5、属性操作

(1)为同一个元素设置多个属性:$('p').attr({"title":"title","name","test"});

$('p').css({"color":"red","font-style":"italy"});

=========({"键":"值","":"",})===========

(2)删除属性

$('p').removeAttr();

6、样式操作和设置样式

get:class:$("selector").attr("class")

set:class:$("selector").attr("class","addclass")

追加样式:addClass(),removeClass(),

切换样式:$().toggle(function(){//show},function(){//hide});

$().toggleClass()

判断是否含有某个样式

hasClass():return false/true<=>(等价于)$("selector").is(".class");

设置和过去html,文本和值

get:var selector_html=("selector").html()//获取("selector")元素的html代码

set:$("selector").html("<b></b>");

text():<=>javascript的innerText属性:用来读取或者设置某个元素中的文本内容

set:$("selector").html("innerText");

val():<=>javascript的value属性

Jquery:focus() blur()

javascript:onfocus() onblur()

设置网页中默认选中的元素

<select id="siggle"><option></option></select>

$("#single").val("");//设置列表的默认选中项

<select id="multiple"><option></option></select>

========标签的value值=========

$("#multiple").val(["",""])//以数组形式赋值

$(":checkbox").val(["",""]);

$(":radio").val(["radio"]);

遍历节点

children():return $("selector")的子元素集合

*children():只考虑子元素而不考虑其他后代元素

next()用于匹配元素后面紧邻的同辈元素

pre()用于匹配元素前面紧邻的同辈元素

siblings()用于取得匹配元素前后所有的同辈元素

closest()用于取得最近的匹配元素,如果不匹配则向上查找父元素,逐级向上直到找到匹配选择器的元素,否则返回一个空的jquery对象

parent()、parents()、closest()的区别

parent():匹配元素的父级元素,返回一个

parents():匹配元素的祖先元素,返回多个

closest():从元素本身开始,逐级向上级元素匹配,并返回第一个最先匹配的祖先元素

CSS-DOM

获取样式属性

$("selector").css("属性键")//获取值

css()设置多个样式属性

$("selector").css({"键":"值","键":"值",});

获取元素的height属性

$("selector").css("height");

$("selector").height();

一:什么是事件委托?

事件委托是利用事件冒泡,只指定一个事件处理程序来管理某一类型的所有事件。

二:为什么要用事件委托?

1.在JavaScript中添加到页面上的事件处理程序的个数直接关系到页面的整体运行性能。为什么呢?因为,每个事件处理函数都是对象,对象会占用内存,内存中的对象越多,性能就越差。此外,必须事先指定所有的事件处理程序而导致的DOM访问次数,会延迟整个页面的交互就绪时间。

2.对有很多个数据的表格以及很长的列表逐个添加事件,简直就是噩梦。所以事件委托,能极大地提高页面的运行性能,减少开发人员的工作量。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容