JavaScript中的5种事件使用方式解说(转)
JavaScript中的5种事件使用方式解说(转)
为组件提供事件处理入口,可以极大的提高组件的封闭性,同时又能让组件很好的和外界通信。并且这也是我们已经习惯使用的一种开发模式,.NET、DHTML等都提供了一套完整的事件处理模型。下面是关于使用DHTML中事件的一个总结。
DHTML提供了3种事件的使用方式,它们分别是:
1、Inline HTML: <ELEMENT onXXX='handler'></ELEMENT>
这是最简单最常用的事件绑定方式,不过这里onXXX的值为handler是不太确切的说法。其实这个handler的位置可以放置任何合法的JavaScript
语句,因为IE在生成DHMTL树时会为当前Element构建一个'匿名'成员
方
法,onXXX指向这个方法的handler。比如我们写下,<element id='elmt' onXXX='var abc =0;
for ( var i=0 ; i < 100 ; i++ )
abc+=i;'></element>,实际上在DHMTL树种存在如下代码结构:
function
anonymous()
{
var
abc
=
0
;
for
(
var
i
=
0
; i
<
100
; i
++
) abc
+=
i;
}
此时anonymous方法中的this
就是elmt对象。
2、Event property: object.onXXX = handler
这个使用方法是把函数名(handler)赋予element预定义的事件属性上(onXXX)。这里需要注意两个问题:
一是,我们在使用object.onXXX = handler是需要保证object已经在页面中生成。比如我们为document.body赋予事件处理函数,我们必须保证document.body已经存在,就是说我们不能在<body>之前
在的全局语句中使用document.body;
二是,handler必须是函数名,和使用方法1中的handler可以是任何JavaScript
语
句不同!我们最容易出错的使用是,当我们习惯了在inline html中使用<element id='elmt' onXXX =
'return false'></element>后,如果这样使用elmt.onXXX='return
false;'。那么就歇菜了,不会有任何执行效果,当然IE也不报错。正确的使用是:
elmt.onXXX
=
function
() {
return
false
; }
3、Named Scri
相关文档:
今天看到一段神得一塌糊涂的Javascript代码
(13223342.9269).toFixed(2)=13223342.93;
(13223342.9269).toLocaleString()=13,223,342.93;
formatNum(13223342.9269)=13,223,342.9269;
delFormat(13,223,342.9269)=13223342.9269;
//去掉逗号
function delFormat(str){
return str.replace(/,/g,"");
&n ......
<mce:script language="javascript" type="text/javascript"><!--
//需要读取的xml文件
var uRl = "jsReadXml.xml";
var xmlDoc;
//初始化,给上述定义变量赋值
// function showcurcity(){
if(window.ActiveXObject)
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM&q ......
<script language="JavaScript">
<!--
calendar = new Date();
day = calendar.getDay();
month = calendar.getMonth();
date = calendar.getDate();
year = calendar.getYear();
if (year< 100) year = 1900 + year;
cent = parseInt(year/100);
g = year % 19;
k = parseInt((cent - 17)/25);
i = ......
在开发过程中经常遇到要调整小数的格式,如保留小数点后两位等等。方法也颇为常见,备忘如下。
第一种,利用math.round
var original=28.453
1) //round "original" to two decimals
var result=Math.round(original*100)/100; //returns 28.45
2) // round "original" to 1 dec ......
引用是一个指向对象实际位置的指针。
例1:
var obj = new Object();
var objRef = obj; //obj与objRef指向同一个对象,objRef是一个引用
自修改(self-modifying)
例2:
var items = new Array("one","two","three");
var itemsRef = items; //创建一个引用
items.push("four");
alert(items.length == items ......