addEventListener() 类似于 IE 的 attachEvent()
document.getElementById("oButton2").addEventListener("click",function(){alert(2);oButton1.click()},false)
//document.getElementById("oButton2").attachEvent("onclick",function(){alert(2);oButton1.click()},false) // IE使用这个
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
The CSS Anthology: 101 Essential Tips, Tricks and Hacks
来自 sitepoint 很不错的书,非常完整全面。
http://www.sitepoint.com/books/cssant1/cssant1-sample.pdf
以前摘选过部分
showlog.asp?cat_id=31&log_id=1931
1.如果字符串是html代码,最好这样 strHTML=’
‘
单引号在外面,双引号在里面。
2.后者效率更高
// Bad way
function changeObject( oId )
{
document.getElementById( oId ).className = ‘blah’;
document.getElementById( oId ).setAttribute( “alt”, “new text” );
}
// Good way
function changeObject( oId )
{
var o = document.getElementById( oId );
o.className = ‘blah’;
o.setAttribute( “alt”, “new text” );
}
3.类似这样的判断
if ( someVar == “someString” )
if ( myNum == 3 )
最好把变量写在后面
if ( “someString” == someVar )
if ( 3 == myNum )
好处就是,一旦你把 == 错写成 = 就会报错,而且即使在IE中,错误的行号都是正确的。
4.空字符串的布尔值
a="";
alert(Boolean(a));
b=" ";
alert(Boolean(b));
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
5. ; 号结束一个语句
for (a=0,b=9;a
document.write ("
“); //line break
for (a=0,b=9;a
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
6. with 语句的变化
d=document;
{
alert(d.getElementById("test").childNodes[0].nodeValue)
}
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
7.微软的 attachEvent() 对应 W3C 推荐的 addEventListener()
以前的 js 常见问题:
showlog.asp?cat_id=31&log_id=1978
showlog.asp?cat_id=31&log_id=1977
showlog.asp?cat_id=31&log_id=1976
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
guoshuang2005-06-28+opera 对 event.target或者event.srcElement 都支持。
也是老生常谈了,但我经常不注意这个问题。
var str = “qing”;
for ( var i = 0; i < myString.length; i++ )
{
alert( myString.charAt( i ) );
}
下面这个好,因为只计算一次 myString.length。
var str = “qing”;
for ( var i = 0,oLength = myString.length; i < oLength; i++ )
{
alert( myString.charAt( i ) );
}
这个更有意思。当给变量赋值的时候,会返回这个值(有值就为 true),所以下面这个更简洁。
var myString = “qing”;
for ( var i = 0; ( c = myString.charAt( i ) ); i++ )
{
alert( c );
}
这个代码也很有意思,刚开始没反应过来,不知道怎么回事
function blastoff( timer )
{
var notice = "";
switch( timer )
{
case 10 : notice += "Ten, ";
case 9 : notice += "Nine, ";
case 8 : notice += "Eight, ";
case 7 : notice += "Seven, ";
case 6 : notice += "Six, ";
case 5 : notice += "Five, ";
case 4 : notice += "Four, ";
case 3 : notice += "Three, ";
case 2 : notice += "Two, ";
case 1 : notice += "One, ";
case 0 : notice += "Zero, ";
default : notice += "Blastoff!";
}
return notice;
}
alert( blastoff( 10 ) );
alert( blastoff( 5 ) );
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
好处在于,搜索引擎也可以追踪这样的链接,而仅仅是 href=”#” 浏览器是不知道目的链接页面地址的。
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
老生常谈了,记录复习一下…
qing = "my lover";
alert(window["qing"])
alert(window.qing)
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]