摘要: 先看下面的代码: var $ = KISSY.all; $(‘a’).on(‘click’,function(e){ doSomeThing();//这个方法貌似很有名 e.halt(); }); 上面的代码看起来像是很好的完成了我们交给它的工作,浏览器不会再将我们重定向到href中的链接,但这么做到底有什么不对呢? 在解释有什么不对前,我们来看看浏览器中事件中的几个概念 浏览器默认行为 当我们点击某一个链接的时候,浏览器会直接跳转,在表单中按回车,表单会自动提交,这些都是浏览器的默认行为。 Javascript事件传播的机制 什么是事件冒泡? 比如点击了一个按钮,这... 阅读全文
posted @ 2014-04-03 21:34 super1234 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 现在浏览器种类也越来越多,诸如IE、Firefox、Chrome、Safari等等,因此现在要实现一个js复制内容到剪贴板的小功能就不是一件那么容易的事了。在FLASH9时代,有一个通杀所有浏览器的js复制内容到剪贴板的方案:这个方案是一个最流行的方法:著名的ClipboardCopy解决方案利用一个clipboard.swf作为桥梁,复制内容到剪贴板。原理是:创建一个隐藏的flash文件,同时给给flash的变量FlashVars赋值“clipboard=..”,通过这个赋值flash就会把复制的内容放到剪贴板。这个方法兼容IE、Firefox、Opera、chrome、Safari,真可谓 阅读全文
posted @ 2014-04-03 17:31 super1234 阅读(14817) 评论(2) 推荐(0) 编辑
摘要: 在定义函数时,我们一般使用下面这两种方法:使用函数声明定义:123function sum (a, b) {return a + b;}使用函数表达式定义:123var sum = function (a, b) {return a + b;}调用方法都是一样的:如求“1+1”等于几:1alert(sum(1, 1));但这两种方法还是有区别的。解析器在向执行环境中加载数据时,对函数声明和函数表达式并非一视同仁。解析器会率先读取函数声明,并使其在执行任何代码之前可用;而函数表达式,则必须等到解析器执行到它所在的代码行,才会真正被解释执行。示例:1234alert(sum(1, 1));func 阅读全文
posted @ 2014-04-03 15:28 super1234 阅读(452) 评论(0) 推荐(3) 编辑