javascrpit
调皮的芋头
我是一个非常勤奋、自信的人。
GitHub:https://github.com/liuyu520
展开
-
js 的一些小技巧2
js 的一些小技巧(1)传入一个表单控件(如input输入框,按钮)获取所在的formvar getForm= function (formElement) { var $that=$(formElement).parent(); var max=6;//limit the depth var fieldsetElement=n原创 2015-03-28 11:01:09 · 817 阅读 · 0 评论 -
回调函数
今天说一下我对回调函数的认识和理解. 其实我们收到短信,手机铃声响起就是一个回调函数var ring= function () { //手机铃声响起或手机震动 }; addEvent('收到短信', 手机, ring);我们读小学时,午休会让班长(监听器)巡逻,看哪个小伙伴(事件目标)睡觉不老实(比如说话打闹,这是事件),一旦发现就通知班主任(事件处理程序). 这原创 2015-05-20 23:52:01 · 1061 阅读 · 1 评论 -
跨浏览器的placehold
如何实现跨浏览器的placeholder效果呢? 先看下效果 js代码如下:$('#username').placeholder({ word: '用户名', color: '#ddd', normalFontColor: '#f00', maxLen: 4, minLen: 2, errorBorderClass: 'errorBorder',原创 2015-06-26 22:27:27 · 2051 阅读 · 2 评论 -
js 获取事件源
js 获取事件源 var node = evt.currentTarget || evt.srcElement||evt.target||evt.toElement;ja.test((a.currentTarget||a.srcElement||a.target||a.toElement).readyStat * 获取事件源 * @param ev * @ret原创 2016-05-10 11:31:50 · 4093 阅读 · 0 评论 -
javascript 原型链和继承(1)
javascript 原型链和继承一切皆对象一切都是对象,函数是第一型。 Function(F大写)和Object(O大写)都是函数的实例。 所以Function.__proto__===Function.prototypeObject.__proto__===Function.prototype说白了,Function是Function的实例, Object也是Function的实例Fun原创 2016-06-11 16:03:18 · 379 阅读 · 0 评论 -
javascript 原型链和继承(2)
javascript 原型链和继承 作用域var a = 1;function b(){ var a = 2; function c(){ var a = 3; console.log(a); } c();}b();//执行结果:3作用域是针对变量的,比如我们创建了一个函数,函数里面又包含了一个函数,那么现在就有三个作用域 优先原创 2016-06-11 17:52:48 · 326 阅读 · 0 评论 -
离开hover的响应事件
离开hover的响应事件 使用jQuery的hover//下单页,"产品说明"事件 var $product_desc=$('.product-desc'); $product_desc.hover(function (e) { var $a=$(this).find('a.dropdown,a.pullup');原创 2016-06-28 18:19:52 · 5989 阅读 · 0 评论 -
解决火狐中拖拽不了的问题
解决火狐中拖拽不了的问题 先看下现象: 解决方法:使用event.preventDefault()/*** * prevent browser default event handler * @param event */var cleanUpDefaultEvent = function (event) { event = event || window.event ||原创 2016-06-29 15:26:06 · 11515 阅读 · 0 评论 -
jquery插入兄弟节点的操作
jquery插入兄弟节点的操作 prepend功能:插入指定元素到父元素的第一个位置(最左边) 实例$self.prepend($selectLi);解释 self是selectLi的父元素,把self放在selectLi的最前面(最左边), 移动的是selectLi,append功能:插入指定元素到父元素的最后面(最右边)after实例$firstLi.after($selectLi);解释原创 2016-06-29 18:52:04 · 14392 阅读 · 0 评论 -
获取浏览器高度
获取浏览器高度 获取浏览器可视区域的高度$(window).height();//Cross browser gets the size of Visual area window,Have nothing to do with scroll bars/*** * 仅获取可视区域的大小 */var getInner=(function() { // alert(typeof win原创 2016-06-15 09:55:41 · 2925 阅读 · 0 评论 -
关于浏览器兼容性的博客锦集
关于浏览器兼容性的博客锦集html li标签设置value诡异的问题html li标签设置value诡异的问题IE8 的兼容性问题总结IE8 的兼容性问题总结 IE8 的兼容性问题总结(CSDN)设置html标签的自定义属性设置html标签的自定义属性原创 2016-07-16 11:05:15 · 504 阅读 · 0 评论 -
IE8 兼容性问题
IE8 兼容性问题设置script标签内容在IE8中,下面的代码报错:$('#invoiceListDot').text(htmlTemplate);说明:invoiceListDot 是一个script标签<script id="invoiceListDot" type="text/x-dot-template"> {{? it.invoiceInfoDtos}}原创 2016-05-16 17:42:25 · 2374 阅读 · 0 评论 -
js 修改必须只有一个入口
js 修改必须只有一个入口 如果我要在执行$('#price-id').val('115') 做一些额外的操作,那么我需要找到每一个调用 $('#price-id').val('115') 的地方 这样有两个缺点: 1. 费劲; 2. 容易遗漏,比如有4个地方,结果我只修改了3个地方,这是很普遍的.怎么办呢? 方法:保证修改之后一个入口: 抽出来作为一个方法,以后要增加逻辑,只需要在原创 2016-07-07 14:47:58 · 372 阅读 · 0 评论 -
火狐中打开新的标签页出现白屏
火狐中打开新的标签页出现白屏 有问题的代码(html页面):<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="jquery-1.11.1.js"></script> <script type原创 2016-07-08 11:29:31 · 1929 阅读 · 0 评论 -
js 通过感叹号判断变量是否有值
js 通过感叹号判断变量是否有值 空字符串 是falseconsole.clear();var a='';console.log('a:'+a);if(!a){ console.error('a is null'); }else{ console.log('a has value'); }运行结果: 空格是true数字0是falsevar a=0;console.log('a:'+原创 2016-07-08 16:02:38 · 5501 阅读 · 0 评论 -
防xss攻击总结
防xss攻击总结 原则用户输入什么,数据库就存储什么. 在前端显示时,需要escape.html标签的title属性也需要escape看一个title属性未escape得例子: html代码: 所以html标签的title属性也需要escape. 但是,如果使用jQuery的attr方法设置title,则不需要escape:setPreviewOrgFullName:function原创 2016-07-15 15:11:35 · 1561 阅读 · 0 评论 -
safari 中jQuery 第一次show没有显示
safari 中jQuery 第一次show没有显示 环境:MacBook Safari版本: 重现bug点击事件中动态地在body节点插入一个div,并且div的样式中设置: display: none; 插入完了之后,调用jQuery的show()第一次没有效果,即该div没有显示出来,第二次才显示. 该div的原始样式: 点击事件中的部分逻辑: 第一次点击时控制台打原创 2016-09-13 17:00:34 · 1767 阅读 · 0 评论 -
判断变量是否被声明过
方式一:使用typeofif (typeof(i)=== "undefined"){console.log(false)}else{console.log(true)}方式二:if(window.abcaa11112)//ok{ console.log(window.abcaa11112);}else{ console.log('没有被声明过');}参考: javascript原创 2016-01-08 08:52:23 · 724 阅读 · 0 评论 -
js 一些小技巧
1,表单中,回车导致下一个表单元素聚焦 Js代码 /*** enter to make next object focus */ var pressFocusNext=function(event,next22){ if(!event ||event==undefined){ event=window.event; } if(eve原创 2015-03-28 11:11:07 · 852 阅读 · 0 评论 -
js一些小技巧 3
js一些小技巧1. (1)同时按Ctrl+Enter提交本表单 在多行文本域增加onkeydown 事件<form id="formNews_reply" class="bbs-send-form form" onsubmit="return news.add_newsReply(this);"> <fieldset class="inputs"> <label for="原创 2015-03-28 21:10:22 · 717 阅读 · 0 评论 -
使用jquery的一些总结
1,使用jquery获取文本框的值 var abcdefg=$(“#text12”); 方式一:abcdefg[0].value 方式二:abcdefg.val() 注意:abcdefg.attr(“value”)获取的是默认值,而不是当前文本框的值2,使用jquery设置为只读 方式一:$('#mechCoupon\\.startNo')[0].readOnly="true";原创 2015-04-02 23:46:29 · 927 阅读 · 0 评论 -
css 特效
css特效 介绍两种css 特效 1,模糊滤镜 先看效果: 对比一下没有滤镜效果的界面: 通过添加css 类实现:.ui-modal-mask-blur { -webkit-filter: blur(2px); -moz-filter: blur(2px); -ms-filter: blur(2px); -o-filter: blur(2px); f原创 2015-05-15 22:40:22 · 950 阅读 · 0 评论 -
js事件绑定
js 中事件绑定不同的浏览器使用不同的方法,如何做到兼容所有的浏览器呢? 火狐浏览器支持document.addEventListener ,但是不支持document.attachEvent. chrome支持document.addEventListener,不支持document.attachEvent IE支持document.addEventListener,不支持document.原创 2015-05-20 23:13:53 · 961 阅读 · 0 评论 -
javascript 容易误解的地方
(1)使用for…in遍历对象时,不仅会遍历对象中的属性和方法,同时也会遍历类的原型中的属性和方法var Person=function(){ this.username="huangweii"; this.age=27; this.sayHello=function() { console.log("username is :"+this.username); }}原创 2015-05-22 11:47:28 · 1135 阅读 · 5 评论 -
[超牛]只能输入数字的文本框,兼容IE7IE8等
demo地址: http://123.57.250.51/static/js/keyup2.html只能输入数字的文本框核心js代码见详情原创 2015-05-28 22:55:55 · 2686 阅读 · 3 评论 -
img的onerror方法在火狐中的坑
下面的页面在火狐中打开时无图片显示<html>在火狐中设置图片src为空字符串时无法触发onerror,但是设置为非空字符串时可以触发onerror原创 2015-05-18 19:43:55 · 2785 阅读 · 0 评论 -
js 中坑爹的零
js 中坑爹的0 直接上代码:var a=0;if(a){ alert(true);}else{ alert(false);}运行结果是什么呢? 按照正常人的思维,应该为true,因为我们确实给a赋予了值. 但是结果往往是残酷的. 运行结果是false var a=0;if(a==false){ alert(true);}else{ alert(false);}原创 2015-05-23 11:41:01 · 1104 阅读 · 1 评论 -
服务器端支持跨域
服务器端使用spring MVC编写 使用过滤器public class SimpleCORSFilter implements Filter{ @Override public void destroy() { } @Override public void doFilter(ServletRequest req, ServletResponse res,原创 2015-06-08 00:32:47 · 1981 阅读 · 0 评论 -
doT js模板入门 2
doT js 使用{{}} 非常类似于JSP,所以用起来感觉很亲切,很顺手 {{–><% }}–>%>原创 2015-06-29 10:45:24 · 2278 阅读 · 0 评论 -
doT js模板入门
doT.js github地址: doT.js 官方网站 实例1:简单<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="../../doT.js"></script> <script原创 2015-06-28 14:49:43 · 6685 阅读 · 0 评论 -
doT js模板入门 3
doT 模板一般是放在script脚本里面的,例如:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="../../doT.js"></script> <script type="text/j原创 2015-07-16 16:27:47 · 1013 阅读 · 0 评论 -
inputclean插件的用法
inputclean插件的用法 语言:javascript 是jquery插件, 目的:给文本框增加×,点击×,即可清空文本框内容. 如图: 具体交互效果: 1,当文本框聚焦时,×永久显示,不管鼠标光标在不在文本框上面(hover); 2,当文本框失去焦点时,只有鼠标hover,×才会显示,鼠标移开,×消失; 3,点击×,文本框内容被清空,且文本框自动聚焦.整个插件不到75行,所原创 2015-07-29 23:25:31 · 1750 阅读 · 0 评论 -
IE8 jquery ajax获取静态资源报错TypeError 拒绝访问
出现问题的代码 /*** * 请求静态html 模板 * @param url * @param $jqueryDiv : 四个主要div之一 * @param templateHandle : 自定义,用于使用Dot js模板函数 * @param callback : 用于实现模板之后,绑定事件 * @param templateDa原创 2015-07-20 23:29:47 · 2795 阅读 · 0 评论 -
chrome卡死崩溃
chrome卡死崩溃 在一次开发过程中,遇到chrome 卡死崩溃的情况 后来找到了原因\ 缺少了.value 应该是:原创 2016-01-16 21:10:23 · 644 阅读 · 0 评论 -
!!的作用
!!是一个很简单的方式,让任意JavaScript表达式变成Boolean的方式, 例如:!!“hello” === true and !!0 === false 参考: 忍者禁术var store = { nextId: 1, cache: {}, add: function(fn){ if (!fn.id){ fn.id = store.nextId++; return !!(store原创 2016-01-19 17:34:15 · 610 阅读 · 0 评论 -
IE8绝对定位竖直向下拉伸,footer没有贴底
IE8绝对定位竖直向下拉伸,footer没有贴底 IE8 的版本如下: 测试demo 当使用鼠标竖直向下拉伸时,footer没有自动贴底,现象如下: 预期的效果是: 为什么在IE8中footer没有贴底呢? 参考:http://w3help.org/zh-cn/causes/RD8008 通俗来讲,就是竖直拉伸IE8浏览器时,body的高度没有自动更新, 比如,首次进入页面,b原创 2016-05-24 18:33:42 · 1383 阅读 · 0 评论