您正在查看 "Js" 分类下的文章
2009-11-22 20:30
event对象在IE和firefox下表现是不同的。在IE下,event是window对象的一个属性,是在全局作用域下的,而在firefox里,event对象是做为事件的参数存在的:
===========================
<input type="button" id="btn" value="click me" />
<script type="text/javascript">
document.getElementById("btn").onclick = function(){
alert(arguments.length);
};
</script>
|
2009-11-22 00:22
protype是个很有趣的属性,它是“类”所持有的属性。在javascript里原生提供的一些内置类,其本质也是“类”,内置类提供的方法我们也可以通过prototype来覆盖掉,这是件很有趣的事情。例如:
=========================================
var str = str2 = "ab,cd,ef,g";
var arr = str.split(",");
String.prototype.split = function(a){
return "hello,you input: " + a;
}
String.prototype.length = 200 |
2009-11-18 17:30
在firefox下,动态加载script标签和css标签,是可以简单地监听onload事件的,但在ie下,监听onload事件无效。为了解决这个问题,可以改用监听onreadystatechange,结合判断readyState的值是否等于loaded 或complete来判断是否onload。
YUI根据ie,webkit和其它做了三种情况区分。实际工作中,我们只用考虑ie和ff就差不多了,写了个简单的小demo,动态加载ie下的firebug组件:
=================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
2009-10-22 15:26
遇到个正则的问题,要求验证中英文,数字和下划线中划线可以通过,其它字符不能通过。
英文和数字好说,\w,下划线和中划线也好说,-_,然后是中文判断,\u0391-\uFFE5。于是我写了这个正则:
if(/[^\w_-\u0391-\uFFE5]/.test(str)),结果发现英文数字下划线和中划线都可以通过,唯独中文不能通过!很奇怪。
换了下顺序,将中文的判断放在了前面,如下if(/[^\u0391-\uFFE5\w_-]/.test(str)就正常了。奇怪了。 |
2009-10-09 18:32
今天遇到点小意外,在调用一个form节点的submit方法时,提示submit is not a function,检查了半天,实在想不出来是什么原因,最后我想,既然它不是function,那么好吧,你告诉我它是什么吧,把submit打印出来了,说是inputHTMLElement。。。
原来是因为给submit按钮取了“submit”这个name,formEl.submit没有指向formEl的submit方法,而是指向了自己的表单项。。。汗,不要给你的表单项乱取名啊,搞不好就覆盖form节点的方法或属性了。。。 |
2009-09-30 09:28
这个方法摘自《javascript设计模式》,因为作者对YUI非常熟悉,所以方法的的思路和YUI一样。方法如下:
function extend(subClass,superClass){
var F = function(){};
F.prototype = superClass.prototype;
subClass.prototype = new F();
subClass.prototype.constructor = subClass;
subClass.superclass = superClass.prototype;
|
2009-09-28 18:03
这两天要实现树形目录,功能中要求树形目录带checkbox,而且有默认状态,默认带勾选的,不允许取消。
YUI带checkbox的treeview是通过样式实现的,其实是不带input的,所以没办法实现disabled。选中状态其实是通过挂上高亮的class,treeview本身提供禁止高亮的功能,但一旦禁止,就显示不了勾选,所以不能使用yui的禁止高亮功能完成disabled。
写了个demo,可以模拟disabled功能。如下:
====================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4. |
2009-09-01 16:30
Y.namespace()方法
Y.namespace()的作用是提供命名空间,其实有原理很简单。例如Y.namespace("A.B");事实做了这样一件事:
Y.A = {}; Y.A.B = {};
.namespace()方法在YUI2中就已经有了,到了YUI3,其实它的作用削弱了。在YUI2中,YAHOO是一个全局作用域的对象,所以.namespace()创建的对象是全局作用域的,不在同一个函数作用域中,也可以互相访问。但到了YUI3,Y是一个函数内的作用域,不同函数之间用namespace()方法创建的对象是不能互相访问的。
demo如下:
==================== |
2009-08-24 09:46
原文地址:paranimage.com/15-web-based-html-editor/
=================================================================
基于Web的HTML编辑器,可视化编辑器,或者是富文本编辑器,是让用户在浏览器中输入富文本的一个Web组件。大多数时候 ,这些HTML编 辑器都 使用于CMS管理系统 中,让管理理或作者可以在后台轻松的创建文章内容 。
不多废话了,让我们来看一下这些强大的HTML编辑器。
1. |
2009-08-21 10:49
我们都知道定位到锚点是通过<a href="#someFlag">label</a>的形式来触发的。但可能并不了解someFlag这个挂钩其实有两种方法挂上。一种是通过<a name = "someFlag"></a>,另一种是通过给标签加上someFlag的id,例如<div id="someFlag"></div>,<span id="someFlag"></span>。
demo如下:
========================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/ |
|
|