首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我的前端学习历程

做移动端开发最好掌握CSS3,CSS3的许多新特性会让布局简单很多。Jquery可以不用每个知识点都很熟练,但是最好都了解,用的时候知道有这个东西再进行细致学习会更牢固。...,原则上HTML代码只能体现网页的结构      建议写法 $(“#foo”).click(function(){});   优点:jQuery是追加绑定的,绑多少执行多少,还解决了IE的不兼容问题。...Jquery中的事件绑定方式有很多 click,live,bind,one,on…,它们之间的区别这里就不多讲了。on方法是官方推荐的绑定事件的一个方法,从性能和试用场景上来说都是很好的。...$(“#foo”).on(“click”,function(){});   高级用法,场景(在多行的表格表格中,动态添加了一行,如果想给新增的这行绑定点击事件) $(“#table”).on(“click...”,”.row”,function(){});   这里在页面初始化的时候可以给表格里面带row样式的行绑定click事件,就算row是新增的,也会添加上该click事件,即事件委托。

1.4K60

JavaScript 事件委托 以及jQuery对事件委托的支持

事件委托        事件委托  允许我们不必为某些特定的节点添加事件监听器,而是将事件监听器添加到(这些节点的)某个 parent节点上。...jQuery还有另外一种方式:将元素的事件处理委托给DOM根节点来处理,这种方式是live()方式: live(type, [data], fn) type   : 事件类型 data :附加的额外数据...与live() 相对应,取消绑定,则用下列代码: $("p").die(); 在事件绑定上,jQuery 提供了一种更通用的函数: on(events,[selector],[data],fn)...算法: 将事件处理函数绑定到容器上, 在事件处理函数内获取 event.target, 根据不同的event.target作相应的处理 应用场景: 需要为子元素用一个事件处理函数 处理相同的动作; 简化不同动作间的结构...第二,理论上委托会导致浏览器额外的加载,因为在容器内的任意一个地方事件的发生,都会运行事件处理函数,所以多数情况下事件处理函数都是在空循环(没有意义的动作),通常不是什么大不了的事儿。

82860
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    vue优雅的实现关闭弹框

    1、点击取消,确定按钮,关闭弹框,的的确确,大多数是这样的做法,但是考虑到,用户有可能手指距离这里比较远,所以,操作可能会比较不方便,因此,这种体验似乎并不是很好,所以,慢慢的用户就觉得需要点击蒙层的时候...2、使用全局方式,记得很久之前撸过jquery,jquery里面就一个live绑定事件的功能,大概就是 $(".dialog").live('click',function(){}) 以上代码手撸,不保证可用...,大概意思就是class为.dialog的element,都绑定一个这样的click事件,不管你当前在不在dom中,后面加进来的也是OK的,想想就觉得挺美好的,那么,可否在Vue中玩一玩呢?...问题的关键是,怎么通知到页面去点击到了浮层这样一个事件,并作出相应的处理。 事件总线在这个时候就起到作用了。...$ebus = eBus } export default install 你可能角色事件总线是什么很神秘的黑科技,但是我要告诉你的是,他事件上是一个全局单例而已,无非就是你把数据丢给我,我在把数据丢给这种数据的监听者而已

    2.5K131

    jQuery:详解jQuery中的事件(二)

    上一篇讲到jQuery中的事件,深入学习了加载DOM和事件绑定的相关知识,这篇主要深入讨论jQuery事件中的合成事件、事件冒泡和事件移除等内容。   ...)和bind("mouseout"),那么这两对绑定函数,其实是两对事件是什么区别呢?...上篇有过下面的一个例子,在其中如果要连续单击“标题”链接,实现“内容”隐藏和显示的效果,那么按照之前的做法就需要在绑定“click”事件的时候判断当前的“内容”部分是隐藏还是显示,然后进行相反的操作,显然就麻烦的多...再比如,假设网页上有两个元素,一个元素A嵌套在另一个元素B中,并且都被绑定了click事件,同时body元素上也绑定了click事件。...所以,移除事件就涉及两种情况下的移出,一种是移除之前注册的所有事件,而是移除其中的一个事件。以一个按钮为例:假设网页中有一个id为btn的按钮,其上绑定了几个click事件。

    2.2K30

    第79天:jQuery事件总结(二)

    上一篇讲到jQuery中的事件,深入学习了加载DOM和事件绑定的相关知识,这篇主要深入讨论jQuery事件中的合成事件、事件冒泡和事件移除等内容。   ...)和bind("mouseout"),那么这两对绑定函数,其实是两对事件是什么区别呢?...上篇有过下面的一个例子,在其中如果要连续单击“标题”链接,实现“内容”隐藏和显示的效果,那么按照之前的做法就需要在绑定“click”事件的时候判断当前的“内容”部分是隐藏还是显示,然后进行相反的操作,显然就麻烦的多...再比如,假设网页上有两个元素,一个元素A嵌套在另一个元素B中,并且都被绑定了click事件,同时body元素上也绑定了click事件。...以一个按钮为例:假设网页中有一个id为btn的按钮,其上绑定了几个click事件。

    1.6K20

    jQuery最佳实践

    请看下面的例子,为a元素绑定一个处理点击事件的函数: $('a').click(function(){ alert($(this).attr('id')); }); 这段代码的意思是,点击a元素后,弹出该元素的...比如,有一个表格(table元素),里面有100个格子(td元素),现在要求在每个格子上面绑定一个点击事件(click),请问是否需要将下面的命令执行100次?...$("td").bind("click", function(){ $(this).toggleClass("click"); }); 回答是不需要,我们只要把这个事件绑定在table元素上面就可以了,...因此,这个事件只需要在父元素绑定1次即可,而不需要在子元素上绑定100次,从而大大提高性能。这就叫事件的"委托处理",也就是子元素"委托"父元素处理这个事件。 具体的写法有两种。...唯一的区别在于,.delegate()是当事件冒泡到指定的父元素时触发,.live()则是当事件冒泡到文档的根元素后触发,因此.delegate()比.live()稍快一点。

    1.3K20

    基于HTML5打造的一款别踩白板小游戏

    一、思路分析 整体页面是一个大的矩形,长宽比例大概是3:2,然后游戏开始,不断有白板降落,然后一行是4个板,一块黑色板块,其余三块是白色板块,通过板块的点击事件绑定,然后判定是什么颜色,只要是白色的,游戏结束...main.insertBefore(oDiv, main.childNodes[0]); // 如果父级有元素 将新生成的一行插入到已有行数的最前面 } var clickDiv...; // 将此元素设置class类名 作为需要点击的标记 clickDiv.style.backgroundColor = colors[index]; // 同时设置上背景颜色 } 2.3.2...} } main.removeChild(main.childNodes[len - 1]); // 将展示过后的每一行移除...// 开始按钮点击 开始移动 创建每一行元素 function clickStart() { go.addEventListener('click', function () {

    1.1K10

    jquery要怎么写才能速度最快?(转…

    利用这一点,可以大大简化事件的绑定。...比如,有一个表格(table元素),里面有100个格子(td元素),现在要求在每个格子上面绑定一个点击事件(click),请问是否需要将下面的命令执行100次?   ...$("td").bind("click", function(){     $(this).toggleClass("click");   }); 回答是不需要,我们只要把这个事件绑定在table...因此,这个事件只需要在父元素绑定1次即可,而不需要在子元素上绑定100次,从而大大提高性能。这就叫事件的"委托处理",也就是子元素"委托"父元素处理这个事件。 具体的写法有两种。...唯一的区别在于,.delegate()是当事件冒泡到指定的父元素时触发,.live()则是当事件冒泡到文档的根元素后触 发,因此.delegate()比.live()稍快一点。

    1.6K30

    jQuery源码解析之clone()

    ,并绑定给克隆的元素 if ( dataAndEvents ) { //克隆子节点的事件和数据 if ( deepDataAndEvents ) {...五、cloneCopyEvent() 作用: $().clone()的关键方法,用来从目标节点克隆数据、添加事件给克隆的元素 注意: jQuery 采用数据分离的方法来保存 DOM 上的事件和数据,利用...uuid 标记每个 DOM 元素,然后在内存上,将每个 DOM 元素相关的数据放到内存中,然后在 uuid 和内存的数据之间建立映射。...if ( dataPriv.hasData( src ) ) { //private data old,即目标元素的数据 //注意:jQuery是通过uuid将目标元素进行标记,...//然后将与目标元素相关的数据都放到内存中 //通过uuid和内存的数据建立映射 //这种数据分离的做法有利于复制数据,但不能复制事件 pdataOld

    2.7K20

    25个常规方法优化你的jquery代码

    比方说,你有一个10列、50行的网格,那么就会绑定上500个事件。...我们所要做的就是检查是哪个单元格被点击了。相当的巧妙!  事件代理带来了另外一个好处。正常情况下,在你往一个元素集合绑定一个事件,该事件仅仅只是绑定到这些集合元素上。...当使用事件代理时,你能够在事件被DOM绑定后仍然可以添加多个被匹配的元素到其中,而它们同样能够正常工作。 13. 利用classes存储状态 这是在html中存储信息最基本的方法。...接下来的代码仅仅是将click事件绑定到使用该选择器查找出来的那些元素上。  这里我不做更具体的讲解,但是你能设想一下它有多么的强大!...有些时候你会注意到在点击链接后锚点会跳转到页面上部。  所有你要做的就是阻止它的默认行为,或者实际上你可以把”return false;”添加到任何事件的默认行为上。

    1.6K10

    jQuery最佳实践

    比如,有一个表格(table元素),里面有100个格子(td元素),现在要求在每个格子上面绑定一个点击事件(click),请问是否需要将下面的命令执行100次?   ...,因为td元素发生点击事件之后,这个事件会"冒泡"到父元素table上面,从而被监听到。...因此,这个事件只需要在父元素绑定1次即可,而不需要在子元素上绑定100次,从而大大提高性能。这就叫事件的"委托处理",也就是子元素"委托"父元素处理这个事件。   ...$("table").on("click", "td", function(){     $(this).toggleClass("click");   }); 更好的写法,则是把事件绑定在document...$(document).on("click", "td", function(){     $(this).toggleClass("click");   }); 如果要取消事件的绑定,就使用off

    1.7K60

    【领会要领】web前端-轻量级框架应用(jQuery基础)

    操作,查找,删除,创建,复制,插入,替换,jQuery事件,事件绑定,鼠标事件,键盘事件,表单事件,窗口事件,事件冒泡,事件解除。...prependTo() 将所有匹配的元素前置到另一个指定的元素集合中。...注意:$(A).prepend(B)的操作,不是将B前置到A中,而是将A前置到B中 after() 在每个匹配的元素之后插入内容 insertAfter() 将所有匹配的元素插入另一个指定的元素集合的后面...注意:$(A).after(B)的操作,不是将B插入到A后面,而是将A插入到B的后面 before() 在每个匹配的元素之前插入内容 insertBefore() 将所有匹配的元素插入另一个指定的元素集合的前面...属性值传递给事件对象的额外数据对象,fn参数为绑定到每个匹配元素事件上面的处理函数。

    2.2K20

    求职 | 史上最全的web前端面试题汇总及答案

    介绍一下 CSS就是层叠式样式表(Cascading Style Sheets)的简称,CSS中层叠的意思就是在HTML文档树结构中的子标记能够继承所有父标记定义的样式,还可以多次定义自己的样式,全部样式按照从外到内...在原生的jS中不包括ready()这个方法,只有load方法就是onload事件 事件绑定的几种方法?...以button的Click事件为例: 1、直接在元素上绑定回调函数 click me 2、JS获取DOM元素对象后...函数绑定事件:document.getElementById('btn').addEventListener('click',clickBtn); 事件冒泡?...jQuery是一个js库,主要提供的功能是选择器,属性修改和事件绑定等等。 jQuery UI则是在jQuery的基础上,利用jQuery的扩展性,设计的插件。

    1.4K10

    jQuery性能优化指南

    这并不是一个jQuery最佳实践,但必须进行有效的JavaScript操作 。直接的DOM操作速度很慢。...比如, 我们要为一个拥有很多输入框的表单绑定这样的行为: 当输入框被选中时为它添加一个class 传统的做法是,直接选中input,然后绑定focus等,如下所示: $("#entryform...在上面代码中,父级元素扮演了一个调度员的角色, 它可以基于目标元素绑定事件。 如果你发现你给很多元素绑定了同一个事件监听, 那么现在的你肯定知道哪里做错了。...你可以通过将jQuery函数绑定到$(window).load 事件的方法来减少页面载入时的cpu使用率。 它会在所有的html(包括)被下载完成后执行。...,这个方法的功能就是为 新增的DOM元素 动态绑定事件。

    96210

    jquery 使用 unbind 解决重复绑定执行事件

    原文:jquery 使用 unbind 解决重复绑定执行事件 存在问题 在jquery监听click事件的时候会出现点击一次没有重复,点击第二次就重复的情况。...出现这个问题的原因是之前的click事件被绑定后,并没有解绑。 还原问题现场 先来看看需求:点击一个数据表之后,确认自定义的模态窗口,然后删除改行的数据,并打印改行数据的ID。 ? ? ?...问题的基本原因:应该是上一行删除的数据 id 的click事件没有被解绑,当再次触发的时候,就重复执行上一次绑定的事件。...说明前面绑定的事件又重复之前了一遍。 这个就有点像jquery执行动画效果之前,需要使用一个stop()方法,将之前执行的动画都停止掉一样。...就是箭头的位置多次进行click事件绑定导致重复执行了。 解决方法,如下: ? 在执行事件绑定之前,进行 unbind('click') 即可。 ?

    1.6K30

    jQuery最佳实践

    比如,有一个表格(table元素),里面有100个格子(td元素),现在要求在每个格子上面绑定一个点击事件(click),请问是否需要将下面的命令执行100次?   ...,因为td元素发生点击事件之后,这个事件会”冒泡”到父元素table上面,从而被监听到。...因此,这个事件只需要在父元素绑定1次即可,而不需要在子元素上绑定100次,从而大大提高性能。这就叫事件的”委托处理”,也就是子元素”委托”父元素处理这个事件。   ...$(“table”).on(“click”, “td”, function(){     $(this).toggleClass(“click”);   }); 更好的写法,则是把事件绑定在document...$(document).on(“click”, “td”, function(){     $(this).toggleClass(“click”);   }); 如果要取消事件的绑定,就使用off()

    85330
    领券