为什么js加事件时不要写括号】的更多相关文章

function al(){alert("我擦")}此时,al代表这个函数的对象,al()就是直接运行了.var nfun=al;就是让nfun也指向了al,此时nfun()就相当于al().那么我们来说下oBtn.onclickoBtn.onclick也就相当于一个nfun,只不过它附属于oBtn这个标签.等号是赋值操作如果是对象,就会把对象的指向付给变量.al是对象指向,al()就是执行了函数,它最终是个什么东西,就看函数体返回什么类型,al里就一个alert,没有return任何…
1.创建Document对象,开始解析web页面.解析HTML元素和他们的文本内容后添加Element对象和Text节点到文档中.这个阶段document.readyState = 'loading'. 2.遇到link外部css,创建线程加载,并继续解析文档. 3.遇到script外部js,并且没有设置async.defer,浏览器加载,并阻塞,等待js加载完成并执行该脚本,然后继续解析文档. 4.遇到script外部js,并且设置有async.defer,浏览器创建线程加载,并继续解析文档.…
看到一款树形结构,比较喜欢它的样式,就参照它的外观自己做了一个,练习一下CSS. 做出来的效果如下: li { position: relative; padding: 5px 0; margin:0; } #tree-div.tree>ul { padding: 0; margin: 0 } .tree>ul ul>li::after { content: " "; position: absolute; top: 20px; left: -45px; width:…
问题描述:有时,发起ajax请求成功后,需要用js去拼接一小段html字符串,然后给某些元素添加事件时,事件总是加不上. 解决办法:在success 回调函数内,给元素添加事件绑定. 代码如下: $.ajax({url : initDeniedUrl,dataType: “json”,type:’post’,xhrFields: {withCredentials: true},data:JSON.stringify({‘page’:1,’pageSize’:5}),contentType: ‘a…
史上最全的CSS hack方式一览 2013年09月28日 15:57:08 阅读数:175473 做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我们会极不情愿的使用这个不太友好的方式来达到大家要求的页面表现.我个人是不太推荐使用hack的,要知道一名好的前端,要尽可能不使用hack的情况下实现需求,做到较好的用户体验.可是啊,现实太残酷,浏览器厂商之间历史遗留的问题让我们在目标需求下不得不向hack妥协,虽然这只是个别情况.今天,结合自己的经…
// 顶级菜单项的鼠标移入和移出操作 $(document).on({ mouseover: function () { ; ; if (top + $(this).children('ul').outerHeight(true) > $(window).height()) { top -= $(; } $(this).children('ul').css({ top: top, left: left }).slideDown('fast'); }, mouseleave:function ()…
关于页面加载时的时间消费,许多书中都做出了介绍,也提出了很多种方法.本文章就详细介绍XHR注入. 概述:JS分拆的方法 1.XHR注入:就是用ajax异步请求同域包含脚本的文件,然后将返回的字符串转化为脚本使用,该方法不会造成页面渲染和onload事件的阻塞,因为是异步处理,推荐使用. 2.iframe注入:加载一个iframe框架,通过使用iframe框架中的脚本来避免src方式加载脚本的阻塞,但是iframe元素开销较大,不推荐. 3.DOM注入:就是创建script元素,通过制定该元素的s…
jquery--blur()事件会在页面加载时自动获取焦点,应将onblur写到html标签中 <div class="inputbox"> <input type="text" name="" id="uPhone" placeholder="手机号" onblur="validate_telphone()" /> <div class="pho…
背景: 在现在WEB开发中,稍复杂一点的页面,都会涉及到多个模块,尤其是类似seajs.LABjs.requireJS等模块工具出来后,前端开发者分模块开发已经慢慢变成一种习惯了,但是多个模块间的常常有各种交集,需要通信.需要互相调用,这时监听者模式便是必不可少的一种设计模式了,在前端表现事件操作.backbone和jquery都有提供了很好的事件处理方式. 但是,真正开发需求的时候我们常常会遇到文件加载顺序跟事件监听与更新不一致的需求,比如说:在一个视频网站里面,有一个视频处理的JS模块和用户…
知识点:使用 v-cloak 防止页面加载时出现 vue.js 的变量名 场景:在使用vue语法,实现下拉框功能时,展示数据列表之前,出现对应的 vuejs 变量名 代码: var vm = new Vue({ el: '#demoVueList', data: { type_arr:[ //运送类型数组 {ID:0,NAME:'循环运送'}, {ID:1,NAME:'即时运送'} ] }, }); <label class="col-lg-1 col-form-label"&g…
解决HTML加载时,外部js文件引用较多,影响页面打开速度问题   通常HTML文件在浏览器中加载时,浏览器都会按照<script>元素在页面中出现的先后顺序,对它们依次加载,一旦加载的js文件数量过多,就会导致页面展示延迟.那么,在开发的过程中,改怎么解决呢? 首先,我们看一看传统中js加载的做法,所有的<script>元素都应该放在页面的<head>元素中,例如:   <!DOCTYPE html>   <html>   <head&g…
最近公司业务有用js处理数据加减,但有时候会出现很多位小数:后来发现是js处理小数时精度失真:为了后边不在犯类似错误,笔者觉得有必要记录下处理方法,当然处理方法有很多种,这里笔者找了一种较为简洁的方法: // 返回值:arg1加上arg2的精确结果 function accAdd(arg1, arg2) { var r1, r2, m; try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 }; try…
ionic 加载动画 ion-spinner ionSpinner 提供了许多种旋转加载的动画图标.当你的界面加载时,你就可以呈现给用户相应的加载图标. 该图标采用的是SVG. 用法 <ion-spinner icon="spiral"></ion-spinner> //默认用法 像大部分其他的ionic组件一样,spinner也可以使用ionic的标准颜色命名规则,就像下面这样: <ion-spinner class="spinner-ener…
<script> $(".guanzhu").hover(function(){ $(".weixinTop").show(); },function(){ $(".weixinTop").hide(); }); </script> js代码如上: js(jquery)鼠标移入移出事件时,出现闪烁.隐藏显示隐藏显示不停切换的情况 最终发现: class="weixinTop" 的div,把class=&…
WinForm 上放置的控件多了或者有大背景图,窗体加载时就会闪烁,对于一般的闪烁,设置 DoubleBuffer=True或许有一点改善,要立竿见影的解决可以重载 CreateParams 使用 WS_CLIPCHILDREN 参数初始化窗体,相关的文章网上多不胜数,这里也就不再赘述. WS_CLIPCHILDREN 方法虽好,但是就其原理,不是哪里都能拿来用的.比如需要子窗体刷新的场景下,如绘图或者实时视频显示的时候上了这一剂猛药,就玩不下去了,需要改换其他的办法. 最近在MDI子窗体上加载…
组件绑定事件时 1. 普通组件绑定事件不能添加.native, 添加后事件失效 2. 自定义组件绑定事件需要添加.native, 否则事件无效 <template> <!-- <mt-field label="用户名" placeholder="请输入用户名"></mt-field> --> <input type="text" @keyup.native="show($event)…
移动端触底加载时前端开发过程中常用功能,主要是通过三个值的大小来进行判断: 首先介绍jquery的写法,代码如下: $(window).scroll(function(){ var windowH=$(window).height();//设备可见区域高度 var documentH=$(document).height();//整个网页的高度(包括未显示的部分) var scrollH=$(window).scrollTop();//滚动条滚动上去的高度 //或者 scrollH = $(do…
前言 click绑定在DOM元素上添加事件句柄以便元素被点击的时候执行定义的JavaScript 函数.大部分是用在button,input和连接a上,但是可以在任意元素上使用. 简单示例 <h2>ClickBind</h2> <div> You've clicked <span data-bind="text: numberOfClicks"></span> times <button data-bind="…
随着智能手机和平板电脑的普及, 越来越多的人用移动设备浏览网页,我们平时在pc浏览器上用的鼠标事件,比如:click, mouseover等, 已经无法满足移动设备触摸屏的特点,触摸时代的到来,离不开那些触摸事件. 触摸事件包含4个接口. TouchEvent 代表当触摸行为在平面上变化的时候发生的事件. Touch 代表用户手指与触摸平面间的一个接触点. TouchList 代表一系列的Touch; 一般在用户多个手指同时接触触控平面时使用这个接口. DocumentTouch 包含了一些创建…
阻塞特性:       JS 有个很无语的阻塞特性,就是当浏览器在执行JS 代码时,不能同时做其他任何事情,无论其代码是内嵌的还是外部的. 脚本位置:       浏览器在碰到一个引入外部JS 文件的<script>标签时会停下所有工作来下载并解析执行它,在这个过程中,页面渲染和用户交互完全被阻塞了,为了避免页面加载时的停顿甚至空白页的出现,JS 脚本应尽量放置在页面底部,这点很重要: <html> <head> <title>无标题文档</title…
js触摸事件 应用在移动端 webkit内核都支持. 触摸事件api https://dvcs.w3.org/hg/webevents/raw-file/tip/touchevents.html 事件:   1.touchstart:  // 手指放到屏幕上的时候触发      2.touchmove:  // 手指在屏幕上移动的时候触发      3.touchend:  // 手指从屏幕上拿起的时候触发      4touchcancel:  // 没测试过  .系统取消touch事件的时候…
昨天到今天, 又看了一边node 的事件模块,  觉得很神奇~  分享一下  - -> 首先, 补充下对node 的理解: nodeJs 是一个单进程单线程应用程序, 但是通过事件和回调支持并发, 所以性能非常高~ 那么什么是单进程单线程呢~(写给语文跟我一样不好的小伙伴) 我们来看下单进程和多进程的区别: 1.  多进程的优势在于任务的独立性,比如某个任务单独作为一个进程的话,崩溃只影响自己的服务,其他任务不受影响.如果是多个任务在同一个进程内部利用多个线程进行处理,某个线程发生了未处理的异常…
之前对事件模型还是比较清楚的,许多概念都清晰映射在脑海中.工作之后,一方面使用的局限性,二是习惯于用框架中的各种事件监听方式,简单即方便,久而久之,事件的一些概念开始淡出记忆中,就像我现在已经开始淡忘C语言的指针.麦克斯韦方程组.矩阵的变换.最小二乘法等.知识就像五彩缤纷的鹅卵石铺垫在你前行的道路上,从简单到深刻,从深刻到领悟,一直 助你渐行渐远.回头看看事件模型呗. 一.事件简介 说到事件,大家可以很快想到很多事件类型,比如:鼠标事件键盘事件框架事件 onerror onresize onsc…
.t1 { background-color: #ff8080; width: 1100px; height: 40px } 一.JS事件 (一)JS事件分类 1.鼠标事件:click/dbclick/mouseover/mouseout2.HTML事件: onload/onunload/onsubmit/onresize/onchange/onfoucs/onscroll3.键盘事件: keydown:键盘按下时触发 keypress:键盘按下并抬起的瞬间触发. keyup:键盘抬起触发[注意…
一.初识闭包 function a(){   var n = 0;   this.inc = function () {     n++;     console.log(n);   }; } var c = new a(); c.inc();  //控制台输出1 c.inc();  //控制台输出2 什么是闭包?这就是闭包! 有权访问另一个函数作用域内变量的函数都是闭包.这里 inc 函数访问了构造函数 a 里面的变量 n,所以形成了一个闭包. function a(){  var n = 0…
概述 前几天研究了一个下开发者工具的performance面板,挺有意思的.文件的加载顺序又对页面性能有着至关重要的影响.所以我用performance面板研究了以下几种配置的加载顺序,把过程和结果记录下来,供以后开发时参考,相信对其他人也有用. js放在body最后的加载. js放在body前面的加载. async,defer的加载. setTimeout的加载. onload事件的加载. DOMContentLoaded事件的加载. onreadystatechange事件的加载. 加入jq…
下面是错误的js方法绑定,这样写会造成在方法中不能用 调用方法的dom本身的一些 东西,如各种属性或者jq对象等. <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <script type="text/javascript" src="js/jquery-1.…
1. 描述 在填报预览时,对单元格编辑后,其左上角有个红色标记,但非常不明显,用户很难注意到.有没有什么好的办法,对单元格操作后,将其做较明显的特殊标记处理,方便用户识别呢? 如图所示:对单元格进行操作后,将其单元格进行背景色着色.文本加粗等标记. 2. 实现方法 打开模板 %FR_HOME%\WebReport\WEB-INF\reportlets\doc\Form\LineForm\LineForm.cpt 2.1 方法1:编辑结束后修改单元格样式 控件编辑后事件中修改单元格样式,选中需要设…
1. ***变量 2. ***数据类型 一. ***变量:内存中存储*一个*数据的存储空间,再起一个名字 何时使用:程序中反复使用的数据,都要先保存在变量中,再参与运算 如何使用:声明   赋值    取值 1. 声明:在内存中创建一个新变量 如何声明:var 变量名; 仅声明,但暂未赋值,默认值为undefined 变量命名:1. 不能以数字开头,仅能包含字母,数字和下划线 2. 不能用保留字:js中已经预先使用的关键字 比如:name X 3. 见名知意 4. 驼峰命名:第一个单词首字母小写…
js通过事件代理的方式绑定跳转事件,我这里的逻辑是把click事件绑定在最外层container上面,如果e.target包含我已经写好的class,则执行跳转逻辑.但是这种方式好像只能是在点击的元素的上面,也就是最内层的元素上面有相应的class才能跳转,在外层加同样的class不生效,说明是我对于事件代理的理解不够深刻,其实事件代理的作用就是为了把目标元素的事件绑定在外层做代理,我想实现外层元素点击,固然不可生效. 这是原来的写法: document.querySelector('.cont…