1、 標簽的 href 屬性用于指定超鏈接目標的 URL,href 屬性的值可以是任何有效文檔的相對或絕對 URL,包括片段標識符和 JavaScript 代碼段。
成都創(chuàng)新互聯(lián)公司是專業(yè)的岐山網(wǎng)站建設公司,岐山接單;提供網(wǎng)站建設、成都網(wǎng)站制作,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行岐山網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
2、javascript: 是一個偽協(xié)議,其他的偽協(xié)議還有 mail: ?tel: ?file: ?等等。
a id="jsPswEdit" class="set-item" href="javascript:;"修改密碼/a1
javascript:是表示在觸發(fā)默認動作時,執(zhí)行一段JavaScript代碼,而 javascript:; 表示什么都不執(zhí)行,這樣點擊時就沒有任何反應。
3、一般在這種情況下,會給綁定一個事件回調(diào),來執(zhí)行業(yè)務,如:
document.getElementById('jsPswEdit').addEventListener('click', function(e) {
e.preventDefault(); ?// 當a觸發(fā)click時,處理業(yè)務}, false);1234
4、簡單來說,”javascript:”是另外一種嵌套js代碼在網(wǎng)頁中的方法。 跟通過標簽嵌套js代碼差不多。 如點擊下面鏈接會會執(zhí)行”javascript:”后面的內(nèi)容。
a href = "javascript:alert(22);"點我/a1
擴展資料
例子:a href="javascript:;"我的大學/a
javascript: 是一個偽協(xié)議
javascript:是表示在觸發(fā)a默認動作時,執(zhí)行一段JavaScript代碼,而?javascript:; 表示什么都不執(zhí)行,這樣點擊a時就沒有任何反應。
href="javascript:;"就是去掉a標簽的默認行為,跟href="javascript:void(0)"是一樣的
void?是JavaScript?的一個運算符,void(0)就是什么都不做的意思。
參考資料
百度百科-a(HTML語言標簽)
[img]表示空格。是javascript里面的轉(zhuǎn)義字符!
例如:
p ??????abc/p這時候瀏覽器會忽略掉abc前面得空格?
為了在前面有空格,通常使用pnbsp;nbsp;abc/p
拓展資料
JavaScript[3]是一種基于對象和事件驅(qū)動并具有相對安全性的客戶端腳本語言。同時也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTML網(wǎng)頁添加動態(tài)功能,比如響應用戶的各種操作。它最初由網(wǎng)景公司(Netscape)的Brendan Eich設計,是一種動態(tài)、弱類型、基于原型的語言,內(nèi)置支持類。
JavaScript是Sun公司的注冊商標。Ecma國際以JavaScript為基礎制定了ECMAScript標準。JavaScript也可以用于其他場合,如服務器端編程。完整的JavaScript實現(xiàn)包含三個部分:ECMAScript,文檔對象模型,字節(jié)順序記號。
參考資料:百度百科—javascript
html
head
title/title
script language="javascript"
function f(){document.getElementById("test").innerHTML=" amp" ;}
/script
/head
body
input type="button" value="test" onclick="f()" /
11span id="test" /span22
/body
/html
------------
就是用這個 amp; 符號代替。把中間的空格去掉就ok了
事件處理程序的方式了:
1. 設置HTML標簽屬性為事件處理程序
文檔元素的事件處理程序?qū)傩裕涿钟伞皁n”后面跟著事件名組成,例如:onclick、onmouseover。當然了,這種形式只能為DOM元素注冊事件處理程序。實例:
!DOCTYPE HTML
html
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8"/
titletest/title
style type="text/css"
#div1{width: 300px; height: 300px; background: red; overflow:hidden;}
#div2{margin:50px auto; width: 200px; height: 200px; background: green; overflow:hidden;}
#div3{margin:50px auto; width: 100px; height: 100px; background: blue;}
/style
/head
body
div id="div1" onClick="console.log('div1');"div1
div id="div2" oNClick="console.log('div2');"div2
div id="div3" onclick="console.log('div3');" onclick="console.log('div3333');"div3
/div
/div
/div
script type="text/javascript"
/script
/body
/html
結(jié)果(鼠標點擊div3區(qū)域后):
從結(jié)果中可以看出:
①因為HTML里面不區(qū)分大小寫,所以這里事件處理程序?qū)傩悦髮憽⑿?、大小混寫均可,屬性值就是相應事件處理程序的JavaScript代碼;
②若給同一元素寫多個onclick事件處理屬性,瀏覽器只執(zhí)行第一個onclick里面的代碼,后面的會被忽略;
③這種形式是在事件冒泡過程中注冊事件處理程序的;
2.設置JavaScript對象屬性為事件處理程序
可以通過設置某一事件目標的事件處理程序?qū)傩詠頌槠渥韵鄳氖录幚沓绦?。事件處理程序?qū)傩悦钟伞皁n”后面跟著事件名組成,例如:onclick、onmouseover。實例:
!DOCTYPE HTML
html
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8"/
titletest/title
style type="text/css"
#div1{width: 300px; height: 300px; background: red; overflow:hidden;}
#div2{margin:50px auto; width: 200px; height: 200px; background: green; overflow:hidden;}
#div3{margin:50px auto; width: 100px; height: 100px; background: blue;}
/style
/head
body
div id="div1"div1
div id="div2"div2
div id="div3"div3
/div
/div
/div
script type="text/javascript"
var div1 = document.getElementById('div1');
var div2 = document.getElementById('div2');
var div3 = document.getElementById('div3');
div1.onclick = function(){
console.log('div1');
};
div2.onclick = function(){
console.log('div2');
};
div3.onclick = function(){
console.log('div3');
};
div1.onclick = function(){
console.log('div11111');
};
div1.onClick = function(){
console.log('DIV11111');
};
/script
/body
/html
結(jié)果(鼠標點擊div3區(qū)域后):
從結(jié)果中可以看出:
①因為JavaScript是嚴格區(qū)分大小寫的,所以,這種形式下屬性名只能按規(guī)定小寫;
②若給同一元素對象寫多個onclick事件處理屬性,后面寫的會覆蓋前面的(ps:這就是在修改一個對象屬性的值,屬性的值是唯一確定的);
③這種形式也是在事件冒泡過程中注冊事件處理程序的;
3.addEventListener()
前兩種方式出現(xiàn)在Web初期,眾多瀏覽器都有實現(xiàn)。而addEventListener()方法是標準事件模型中定義的。任何能成為事件目標的對象——這些對象包括Window對象、Document對象和所有文檔元素等——都定義了一個名叫addEventListener()的方法,使用這個方法可以為事件目標注冊事件處理程序。addEventListener()接受三個參數(shù):第一個參數(shù)是要注冊處理程序的事件類型,其值是字符串,但并不包括前綴“on”;第二個參數(shù)是指當指定類型的事件發(fā)生時應該調(diào)用的函數(shù);第三個參數(shù)是布爾值,其可以忽略(某些舊的瀏覽器上不能忽略這個參數(shù)),默認值為false。這種情況是在事件冒泡過程中注冊事件處理程序。當其為true時,就是在事件捕獲過程中注冊事件處理程序。實例:
!DOCTYPE HTML
html
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8"/
titletest/title
style type="text/css"
#div1{width: 300px; height: 300px; background: red; overflow:hidden;}
#div2{margin:50px auto; width: 200px; height: 200px; background: green; overflow:hidden;}
#div3{margin:50px auto; width: 100px; height: 100px; background: blue;}
/style
/head
body
div id="div1"div1
div id="div2"div2
div id="div3"div3
/div
/div
/div
script type="text/javascript"
var div1 = document.getElementById('div1');
var div2 = document.getElementById('div2');
var div3 = document.getElementById('div3');
div1.addEventListener('click', function(){ console.log('div1-bubble'); }, false);
div2.addEventListener('click', function(){ console.log('div2-bubble'); }, false);
div3.addEventListener('click', function(){ console.log('div3-bubble'); }, false);
div3.addEventListener('click', function(){ console.log('div3-bubble222'); }, false);
div1.addEventListener('click', function(){ console.log('div1-capturing'); }, true);
div2.addEventListener('click', function(){ console.log('div2-capturing'); }, true);
div3.addEventListener('click', function(){ console.log('div3-capturing'); }, true);
/script
/body
/html
結(jié)果(鼠標點擊div3區(qū)域后):
從結(jié)果中可以看出:
①addEventListener()第三個參數(shù)的作用正如上面所說;
②通過addEventListener()方法給同一對象注冊多個同類型的事件,并不會發(fā)生忽略或覆蓋,而是會按順序依次執(zhí)行;
相對addEventListener()的是removeEventListener()方法,它同樣有三個參數(shù),前兩個參數(shù)自然跟addEventListener()的意義一樣,而第三個參數(shù)也只需跟相應的addEventListener()的第三個參數(shù)保持一致即可,同樣可以省略,默認值為false。它表示從對象中刪除某個事件處理函數(shù)。實例:
div1.addEventListener('click', div1BubbleFun, false);
div1.removeEventListener('click', div1BubbleFun, false);
function div1BubbleFun(){
console.log('div1-bubble');
}
4.attachEvent()
但是,IE8以及其之前版本的瀏覽器并不支持addEventListener()和removeEventListener()。相應的,IE定義了類似的方法attachEvent()和detachEvent()。因為IE8以及其之前版本瀏覽器也不支持事件捕獲,所以attachEvent()并不能注冊捕獲過程中的事件處理函數(shù),因此attachEvent()和detachEvent()要求只有兩個參數(shù):事件類型和事件處理函數(shù)。而且,它們的第一個參數(shù)使用了帶“on”前綴的事件處理程序?qū)傩悦?。實例?/p>
var div1 = document.getElementById('div1');
div1.attachEvent('onclick', div1BubbleFun);
function div1BubbleFun(){
console.log('div1-bubble');
}
相應的,從對象上刪除事件處理程序函數(shù)使用detachEvent()。例如:
div1.detachEvent('onclick', div1BubbleFun);
到此為止,我們已經(jīng)說了瀏覽器中事件傳播機制以及各種注冊事件處理程序的方法。下面我們就再說說事件處理程序調(diào)用時的一些問題吧!
二.事件處理程序的調(diào)用
1.事件處理程序的參數(shù):正如前面所說,通常事件對象作為參數(shù)傳遞給事件處理函數(shù),但IE8以及其之前版本的瀏覽器中全局變量event才是事件對象。所以,我們在寫相關(guān)代碼時應該注意兼容性問題。實例(給頁面上id為div1的元素添加點擊事件,當點擊該元素時在控制臺輸出事件類型和被點擊元素本身):
!DOCTYPE HTML
html
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8"/
titletest/title
style type="text/css"
#div1{width: 300px; height: 300px; background: red; overflow: hidden;}
/style
/head
body
div id="div1"div1/div
script type="text/javascript"
var div1 = document.getElementById('div1');
if(div1.addEventListener){
div1.addEventListener('click', div1Fun, false);
}else if(div1.attachEvent){
div1.attachEvent('onclick', div1Fun);
}
function div1Fun(event){
event = event || window.event;
var target = event.target || event.srcElement;
console.log(event.type);
console.log(target);
}
/script
/body
/html
2.事件處理程序的運行環(huán)境:關(guān)于事件處理程序的運行環(huán)境,也就是在事件處理程序中調(diào)用上下文(this值)的指向問題,可以看下面四個實例。
實例一:
!DOCTYPE HTML
html
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8"/
titletest/title
style type="text/css"
#div1{width: 300px; height: 300px; background: red; overflow: hidden;}
/style
/head
body
div id="div1" onclick="console.log('html:'); console.log(this);"div1/div
script type="text/javascript"
/script
/body
/html
結(jié)果一:
從結(jié)果可以看出:
①第一種方法事件處理程序中this指向這個元素本身;
實例二:
!DOCTYPE HTML
html
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8"/
titletest/title
style type="text/css"
#div1{width: 300px; height: 300px; background: red; overflow: hidden;}
/style
/head
body
div id="div1" onclick="console.log('html:'); console.log(this);"div1/div
script type="text/javascript"
var div1 = document.getElementById('div1');
div1.onclick = function(){
console.log('div1.onclick:');
console.log(this);
};
/script
/body
/html
結(jié)果二:
從結(jié)果可以看出:
①第二種方法事件處理程序中this也指向這個元素本身;
②存在第二種方法時,它會覆蓋第一種方法注冊的事件處理程序;
實例三:
!DOCTYPE HTML
html
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8"/
titletest/title
style type="text/css"
#div1{width: 300px; height: 300px; background: red; overflow: hidden;}
/style
/head
body
div id="div1" onclick="console.log('html:'); console.log(this);"div1/div
script type="text/javascript"
var div1 = document.getElementById('div1');
div1.onclick = function(){
console.log('div1.onclick:');
console.log(this);
};
div1.addEventListener('click', function(){
console.log('div1.addEventListener:');
console.log(this);
}, false);
/script
/body
/html
結(jié)果三:
從結(jié)果可以看出:
①第三種方法事件處理程序中this也指向這個元素本身;
②第三種方法并不會覆蓋第一種或第二種方法注冊的事件處理程序;
實例四:
!DOCTYPE HTML
html
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8"/
titletest/title
style type="text/css"
#div1{width: 300px; height: 300px; background: red; overflow: hidden;}
/style
/head
body
div id="div1" onclick="console.log('html:'); console.log(this);"div1/div
script type="text/javascript"
var div1 = document.getElementById('div1');
div1.onclick = function(){
console.log('div1.onclick:');
console.log(this);
};
div1.attachEvent('onclick', function(){
console.log('div1.attachEvent:');
console.log(this === window);
});
/script
/body
/html
結(jié)果四:
從結(jié)果可以看出:
①第四種方法事件處理程序中this指向全局對象Window;
②第四種方法也不會覆蓋第一種或第二種方法注冊的事件處理程序;
3.事件處理程序的調(diào)用順序:多個事件處理程序調(diào)用規(guī)則如下:
①通過HTML屬性注冊的處理程序和通過設置對象屬性的處理程序一直優(yōu)先調(diào)用;
②使用addEventListener()注冊的處理程序按照它們的注冊順序依次調(diào)用;
③使用attachEvent()注冊的處理程序可能按照任何順序調(diào)用,所以代碼不應該依賴于調(diào)用順序;