其实71行不用再次定义n的,本就是一个全局变量,共享,不过js语言没有严格编译前检查能力,所以就算重复定义了也没出错,弱变量语言就是有这个弊端,灵活但是也易错
2016-08-31
我感觉这种东西老师这样分开弄很好,很系统化,记不住的那么多的人可以写笔记,或大概了解下到时候去查。别以为自己有多厉害。
2016-08-31
/*
鼠标的左键单机which(1) / 滑轮按下which(2) / 右键按下which(3) 都是会触发点击事件 --->
*/
鼠标的左键单机which(1) / 滑轮按下which(2) / 右键按下which(3) 都是会触发点击事件 --->
*/
2016-08-31
js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远是直接接受事件的目标DOM元素;
2016-08-30
keypress和keydown有什么区别??????
虽然从字面理解, KeyDown是按下一个键的意思, 但实际上二者的根本区别是, 系统由KeyDown返回键盘的代码, 然后由TranslateMessage函数翻译成成字符, 由KeyPress返回字符值. 因此在KeyDown中返回的是键盘的代码, 而KeyPress返回的是ASCII字符. 所以根据你的目的, 如果只想读取字符, 用KeyPress, 如果想读各键的状态, 用KeyDown.
说KeyDown是按下, KeyPress是按下并松开, 是不对的. 如果你一直按着键呢? 这时不断地产生KeyDown和KeyPress.
虽然从字面理解, KeyDown是按下一个键的意思, 但实际上二者的根本区别是, 系统由KeyDown返回键盘的代码, 然后由TranslateMessage函数翻译成成字符, 由KeyPress返回字符值. 因此在KeyDown中返回的是键盘的代码, 而KeyPress返回的是ASCII字符. 所以根据你的目的, 如果只想读取字符, 用KeyPress, 如果想读各键的状态, 用KeyDown.
说KeyDown是按下, KeyPress是按下并松开, 是不对的. 如果你一直按着键呢? 这时不断地产生KeyDown和KeyPress.
2016-08-30
这里设计有点瑕疵,一个边框改变,一个接受字符,改成一样不是更直观吗?
这里只是input自身发生鼠标事件而有没有执行操作的区别,也没有说明传入父元素后的影响,不能很好的体现出冒泡的区别
这里只是input自身发生鼠标事件而有没有执行操作的区别,也没有说明传入父元素后的影响,不能很好的体现出冒泡的区别
2016-08-30
这节课讲解的似乎大家都有些迷糊,这个trigger应该理解为模仿的意思(原意是绑定)
$("button:last").click(function() {
$("button:first").trigger('click','last');
【在button:last被点击的时候相当于button:fist被点击,只是参数要换成trigger的参数,也就是说$("button:last").click模仿了 $("button:first").click被点击时发生的情景操作。这样就好理解了】
$("button:last").click(function() {
$("button:first").trigger('click','last');
【在button:last被点击的时候相当于button:fist被点击,只是参数要换成trigger的参数,也就是说$("button:last").click模仿了 $("button:first").click被点击时发生的情景操作。这样就好理解了】
2016-08-29
bottonName = bottonName || 'first'这个双目运算符很重要,为什么在 $("button:first").trigger('click','last');调用 $("button:first").click过去后遇到bottonName = bottonName || 'first'时只传递last不传递first呢?就是因为双目运算符||在遇到第一个为真的时候就停止了,这个代表“或”的意思,即一个为真就为真。
var n = parseInt(last.text(), 10);这个是类型转换,把n转换成int整型数,就是整数的意思,10可以省略
var n = parseInt(last.text(), 10);这个是类型转换,把n转换成int整型数,就是整数的意思,10可以省略
2016-08-29
代码中的e.target返回的是绑定这个事件的DOM对象, 是DOM对象不是Jquery对象, 所以e.target后面跟的属性是js中的属性和方法, jquery中的属性和方法用不了,要用jquery的属性方法,要转化为Jquery对象$(e.target).val(). 老师说的时候有点问题, 当用于 select 元素时,change 事件会在选择某个选项时发生。当用于 text field 或 text area 时,该事件会在元素失去焦点时发生。
2016-08-29
解释下$("input:last").focusin('慕课网', fn)到底什么意思, 给$("input:last")元素添加光标聚焦事件,然后调用fn()函数, 执行fn()函数体, $(this).val(e.data)中的$(this)就是$("input:last"),把这个input的value值改为e.data,这里的e就是focusin事件对象,e.data就是慕课网, 前面代码中的"慕课网",就是在给e.data赋值, 这里的e.data是取值.
2016-08-29
hover()这个方法里头封装的是mouseenter(), mouseleave()两个方法, 可以阻止冒泡问题. 这个方法可以用来改变样式, 比如鼠标移入div变色, 移出回到以前的颜色. 相当于css中的div:hover, 但是:hover很多的浏览器对a:hover支持还不错, 对div:hover, ul:hover支持有点差, 特别是ie6,ie7这些较低的版本. 用jquery可以解决兼容性,代码量比js要少很多, 可以专注在逻辑业务上.
2016-08-29
在Jquery中,用this是指向的是DOM中的对象, this.html()是没有用的, html()是jquery中的方法, 必须用$(this).html(),这样才可以,$(this)指向的是jquery对象.
2016-08-29