html部分
<!-- 兩種形式,第一種是直接控制A標(biāo)簽的點(diǎn)擊事件觸發(fā),第二種是給帶某個(gè)固定class的A標(biāo)簽添加事件 -->
<a onclick="winLink(this); return false">open</a>
<a class="open">open</a>
Javascipt部分一
創(chuàng)建一個(gè)winlink函數(shù),第一種形式就是直接調(diào)用這段JS打開新窗口的。
function winLink(link){
window.open(link,"新窗口名稱",width=300,heiht=400);
}
Javascipt部分二
第二種形式的JS,要結(jié)合Javascipt部分一一起使用
//獲取頁面中的所有A標(biāo)簽
var links = document.getElementsByTagName("a");
for(var i=0;i<links.length;i++){
//判斷A標(biāo)簽的class是否為"open"
if(links[i].getAttribute("class") == "open"){
//如果是,給這個(gè)A標(biāo)簽的onclick綁定一個(gè)帶語句的函數(shù)(這個(gè)是我一個(gè)文科生的理解,書上沒有注明)
links[i].onclick = function(){
//查找這個(gè)A標(biāo)簽內(nèi)的"href"屬性,并把這個(gè)值賦值給函數(shù)winlink的屬性"link"
winLink(this.getAttribute("href"));return false;
}
}
}
以上js最好放置在body最下方,以免出現(xiàn)JS比HTML先讀取完導(dǎo)致獲取標(biāo)簽失效
外部JS文件
外部JS文件還可以添加一個(gè)函數(shù)避免讀取順序上的問題:
//窗口加載完畢后執(zhí)行函數(shù)prepareLinks
window.onload = prepareLinks;
function prepareLinks(){
....
//上面的JS第一部分和第二部分放在這個(gè)函數(shù)內(nèi)
}
沒有太多說明,注釋已經(jīng)比較清楚的了,第一次學(xué)習(xí)javascipt,難免有些地方寫的不夠好甚至寫錯(cuò)的,還請(qǐng)多多指教!