fn

JSTL中foreach与fn表达式

老子叫甜甜 提交于 2019-12-09 14:46:04
在jstl中的fn标签也是我们在网页设计中经常要用到的很关键的标签,在使用的时候要先加上头 <%@ taglib uri=" http://java.sun.com/jsp/jstl/functions " prefix="fn"%>就可以使用fn标签了。 具体使用方法请参见下表: 函数 描述 fn:contains(string, substring) 如果参数string中包含参数substring,返回true fn:containsIgnoreCase(string, substring) 如果参数string中包含参数substring(忽略大小写),返回true fn:endsWith(string, suffix) 如果参数 string 以参数suffix结尾,返回true fn:escapeXml(string) 将有特殊意义的XML (和HTML)转换为对应的XML character entity code,并返回 fn:indexOf(string, substring) 返回参数substring在参数string中第一次出现的位置 fn:join(array, separator) 将一个给定的数组array用给定的间隔符separator串在一起,组成一个新的字符串并返回。 fn:length(item) 返回参数item中包含元素的数量

addEventListener(type, fn , true/false)绑定事件第三个参数作用以及利用事件的冒泡,实现事件委托

Deadly 提交于 2019-12-09 08:54:57
(一): 第一个参数type,事件的类型,如click,mouseover等; fn,事件监听执行的function; 第三参数,决定事件执行的过程(大概这样解释。。),捕获或者冒泡,首先我们看一张图片: 由图片我们可以看到,事件是先捕获再冒泡的,而第三个参数就决定了是先捕获还是先冒泡,如果是true就是捕获,反正则是冒泡,我们可以看个例子: html: < ul id = "ul" > < li > 1111 </ li > < li > 2222 </ li > < li > 3333 </ li > < li > 4444 </ li > </ ul > javascript: var ul = document.querySelector( '#ul' ); ul.addEventListener( 'click' , function () { alert( 'ul' ) }, false ); var li = document.querySelector( '#ul > li' ); li.addEventListener( 'click' , function () { alert( 'li' ) }, true ) 上面的例子中,把 li 事件监听的执行过程是捕获,而捕获先于冒泡执行,所以是先alert(‘’li“)再 alert(‘’ul“),

js DOM事件监听与解除的兼容性写法

余生颓废 提交于 2019-12-09 08:33:05
function addEvent(obj, type , fn ) { if (window.addEventListener) { //ie9+ chrome fireFox obj.addEventListener( type , fn , false ); } else if (window.attachEvent) { //旧版本ie(edge不支持) obj.attachEvent('on' + type , fn ); } else { obj['on' + type ] = fn; } } function removeEvent(obj, type , fn ) { if (window.removeEventListener) { //ie9+ chrome fireFox obj.removeEventListener( type , fn , false ); } else if (window.detachEvent) { //旧版本ie(edge不支持) obj.detachEvent('on' + type , fn ); } else { obj['on' + type ] = null ; } } 推荐文章 addEventListener和attachEvent函数中的this的指向问题及解决方法

事件监听(addEventListener())及其移除(removeEventListener)

ぐ巨炮叔叔 提交于 2019-12-09 08:28:01
html < div id = "box" ></ div > js < script type = "text/javascript" > var box = document.getElementById( "box" ); function clickfn () { console.log( "传到box上了" ); } function clickhandle () { console.log( "aa" ); } function addEvent ( obj,type,fn,capture ) { if ( obj.addEventListener ){ obj.addEventListener( type,fn, false ); } else if ( obj.attachEvent ){ obj.attachEvent( 'on' ,type,fn ); } else { obj[ 'on' +type ] = fn; } } //移除监听函数 function removeEventHandle (target,type,fn,capture) { if (target.addEventListener){ //如果为true的话,进入 target.removeEventListener(type,fn,capture); } else if ( target

attachEvent(detachEvent) 和 addEventListener(removeEventListener)

删除回忆录丶 提交于 2019-12-09 08:22:01
1,介绍添加多个两种方法 考虑到不同的人写同一个页面,有事后我们要为同一个元素添加多个事件,这些事件可能是相同的,因此我们有必要为一个元素同时添加多个元素 attachEvent 和 addEventListener 可以同时添加多个事件, attachEvent 谷歌,火狐Ie9版本以上大的浏览器都不支持 ie8以下的版本不支持 addEventListener 谷歌,火狐Ie9版本以上大的浏览器都支持 ie8以下版本不支持 (需要调兼容)\ 对象.attachEvent (参数1,参数2), 参数1为事件类型 比如onclick ( 需要带on的事件 ) 参数2 为事件处理函数 document.getElementById('btn').attachEvent('onclick',function(){ alert('添加第一个事件'); }); document.getElementById('btn').attachEvent('onclick',function(){ alert('添加第二个事件') }); 对象.addEventListener(参数1,参数2,参数3),参数1为不带on的事件名字, 参数2位事件处理函数,参数三 一般为false document.getElementById('btn').addEventListener('click'

JavaScript中事件的绑定与解绑

帅比萌擦擦* 提交于 2019-12-09 08:14:49
目录 零、码仙励志 一、事件的绑定 1. 对象.on事件名字=事件处理函数 2. 对象.addEventListener("没有on的事件名字",事件处理函数,false); 3. 对象.attachEvent("有on的事件名字",事件处理函数); 4.总结绑定事件的区别 5.兼容代码 二、事件的解绑 1.注意(必看) 2.对象.on事件名字=null; 3.对象.removeEventListener("没有on的事件类型",函数名字,false); 4.对象.detachEvent("on事件类型",函数名字); 5.兼容代码 三、事件冒泡 1.解释 2.实例演示 3.阻止事件冒泡 window.event.cancelBubble=true; 4.阻止事件冒泡 e.stopPropagation(); 四、事件阶段 五、为同一个元素绑定多个不同的事件,指向相同的事件处理函数 零、码仙励志 行动是治愈恐惧的良药,而犹豫、拖延将不断滋养恐惧 一、事件的绑定 1. 对象.on事件名字=事件处理函数 缺点:如果绑定多个事件,前面的事件会被后面的事件覆盖 <body> <input type="button" value="按钮" id="btn"/> <div id="dv"></div> <script> document.getElementById("btn")

ES6自己的一些理解

百般思念 提交于 2019-12-08 09:07:33
一.什么是es6 es6 是js语言的下一代标准,15年6月发布,也就是ECMAScript(2015) ECMAScript就是JavaScript的国际标准,js是es的实现 es的历史: 1996年11月,网景公司把js语言提交给国际标准组织ECMA,希望能成为国际标准推广,1997年,ECMA发布ECMAScript 1.0 兼容的不是很好,但是写起来方便也多了很多新的好玩的东西 编译的话咱们就暂时先用咱们react使引入的哪个browser.js + type=‘text/bable’ 不用的话也可能能用,但是有的地方就体现不出来了,还是编译的好 为什么要有es6呢?自己想一下去吧.. 编译es6的方式: 1.浏览器编译 2.gulp 二.let 和 const命令 1.let:声明变量,声明的是局部变量 用途及区别:ES6新增了let命令,用来声明变量,类似于var ,但是声明的变量只在let所在的代码块的内部有效 let不存在变量提升,这个要注意哟 暂时性的死区: 只要块级作用域里存在let命令,它所声明的变量就绑定这个区域,不在受外部的影响 不允许重复声明 内部的数据有了let声明过之后不允许重复声明 2.块级作用域 为什么需要块级作用域: es5只有全局作用域和函数作用域,这样会造成一些不合理的地方 1>.内部数据覆盖外部数据的情况 2>

Javascript基础——函数

僤鯓⒐⒋嵵緔 提交于 2019-12-07 16:11:26
一 函数的介绍   1.概念:由一堆代码按照一定的规则,组成实现了某个功能,通过函数自身或事件调用    函数的特点:     忽略细节:只关注其实现的功能,不关注内部构造;     重复使用:函数可以实现代码的重复利用;     选择使用:只有当函数执行时,函数中的代码才能运行,不执行即不运行。    函数的定义的原则:函数封装时跟还需要有对外接口,用来与函数外部交互信息   2.创建(定义,声明)函数:    声明式:function关键字,声明函数的关键字,类似于var     例如:function fn( ) { } (function声明关键字;fn函数名;( )对外的接口,参数;{ }壳,函数体,函数的执行语句)     赋值式:声明一个变量,将函数赋值给变量;变量名即函数名     例如 var fn;fn = function( ) { }   3.函数的执行:      自身执行:函数名(),任何情况下,只要函数名()了,函数立即执行(主动执行)      行为(事件)调用:某元素绑定事件,事件触发即执行(被动执行)       元素.事件 = 函数名------>box.onclick = fn;       元素.事件 = 函数的内容------>box.onclick = function( ) { }   4.函数的参数(形参与实参)     实参

this

断了今生、忘了曾经 提交于 2019-12-07 15:04:28
this :执行上下文,this一般存在于函数中,表示当前函数的执行上下文,如果函数没有执行,那么this没有内容,只有函数在执行后this才有绑定 1.默认执行:fn(): 全局作用域或者普通函数中this指向window,严格模式指向undefined 例子:  function fn(){       "use strict"       console.log(this)       }       fn() 2.通过对象执行(通过上下文对象执行,隐式执行) function fn(){ console.log(this) } var a = 10; var obj = { a:20, b:fn } obj.b(); var obj2 = { a:30, b:obj.b } 3. 显式执行(通过函数的方法bind执行):指定的是谁,就是谁 function fn(){ console.log(this) } var f = fn.bind(123); f(); 找回隐式丢失的this,其实就是使用显式执行,强行绑定 setTimeout(obj.b.bind(obj), 3000); 谁执行了this所在的函数,this就是谁 场景: 1.默认执行:非严格模式下指向window   window || undefined 2.隐式执行:通过任意对象执行    直接的执行对象

JQuery each 遍历

你离开我真会死。 提交于 2019-12-06 21:16:58
jQuery 中的each函数 很方便,$.each ()函数封装了十分强大的遍历功能,它可以遍历一维数组、多维数组、DOM , JSON 等等,在javaScript 开发过程中使用$.each可以大大的减轻我们的工作量,这里贴一个简单的模仿each的函数,只能处理数组类型的对象。 each()函数是基本上所有的框架都提供了的一个工具类函数,通过它,你可以遍历对象、数组的属性值并进行处理。jQuery和jQuery对象都实现了该方法,对于jQuery对象,只是把each方法简单的进行了委托:把jQuery对象作为第一个参数传递给jQuery的each方法.换句话 说:jQuery提供的each方法是对参数一提供的对象的中所有的子元素逐一进行方法调用。而jQuery对象提供的each方法则是对jQuery内部的子元素进行逐个调用。 这个JQUERY里的核心代码 代码如下: jQuery.prototype.each=function( fn, args ) { return jQuery.each( this, fn, args ); } jquery each循环,要实现break和continue的功能: break--------用return false; continue-----用return ture; 让我们看一下jQuery提供的each方法的具体实现,