Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
件句柄是一種針對(duì)給定事件來執(zhí)行代碼的子例程。
ASP.NET - 事件句柄
請(qǐng)看下面的代碼:
<%
lbl1.Text="The date and time is " & now()
%>
<html>
<body>
<form runat="server">
<h3><asp:label id="lbl1" runat="server" /></h3>
</form>
</body>
</html>
上面的代碼將在何時(shí)被執(zhí)行?答案是:"不知道..."。
Page_Load 事件
Page_Load 事件是 ASP.NET 可理解的眾多事件之一。Page_Load 事件會(huì)在頁面加載時(shí)被觸發(fā), ASP.NET 將自動(dòng)調(diào)用 Page_Load 子例程,并執(zhí)行其中的代碼:
實(shí)例
<script runat="server">
Sub Page_Load
lbl1.Text="The date and time is " & now()
End Sub
</script>
<html>
<body>
<form runat="server">
<h3><asp:label id="lbl1" runat="server" /></h3>
</form>
</body>
</html>
演示實(shí)例 ?
注釋:Page_Load 事件不包含對(duì)象引用或事件參數(shù)!
Page.IsPostBack 屬性
Page_Load 子例程會(huì)在頁面每次加載時(shí)運(yùn)行。如果您只想在頁面第一次加載時(shí)執(zhí)行 Page_Load 子例程中的代碼,那么您可以使用 Page.IsPostBack 屬性。如果 Page.IsPostBack 屬性設(shè)置為 false,則頁面第一次被載入,如果設(shè)置為 true,則頁面被傳回到服務(wù)器(比如,通過點(diǎn)擊表單上的按鈕):
實(shí)例
<script runat="server">
Sub Page_Load
if Not Page.IsPostBack then
lbl1.Text="The date and time is " & now()
end if
End Sub
Sub submit(s As Object, e As EventArgs)
lbl2.Text="Hello World!"
End Sub
</script>
<html>
<body>
<form runat="server">
<h3><asp:label id="lbl1" runat="server" /></h3>
<h3><asp:label id="lbl2" runat="server" /></h3>
<asp:button text="Submit" onclick="submit" runat="server" />
</form>
</body>
</html>
演示實(shí)例 ?
上面的實(shí)例僅在頁面第一次加載時(shí)顯示 "The date and time is...." 消息。當(dāng)用戶點(diǎn)擊 Submit 按鈕是,submit 子例程將會(huì)在第二個(gè) label 中寫入 "Hello World!",但是第一個(gè) label 中的日期和時(shí)間不會(huì)改變。
件處理
一 事件源:任何一個(gè)HTML元素(節(jié)點(diǎn))body div button p a h1
二 事件:你的操作
鼠標(biāo)點(diǎn)擊、頁面或圖像載入、鼠標(biāo)懸浮于頁面的某個(gè)熱點(diǎn)之上、在表單中選取輸入框、確認(rèn)表單、鍵盤按鍵
鼠標(biāo):
click 單擊
dblclick 雙擊
contextmenu(在body) 鼠標(biāo)右鍵菜單(火狐瀏覽器不支持,IE和360支持)
mouseover 放上(移入)
mouseout 離開(移出)
mousemove 移動(dòng)
mouseup 抬起
mousedown 按下
mouseenter 放上(移入)
mouseleave 離開(移出)
mouseover/mouseout與mousenter/onmouseleave區(qū)別: mouseover/mouseout不會(huì)參與冒泡, mousenter/onmouseleave參與冒泡
鍵盤:
keypress 鍵盤事件
keyup 抬起
keydown 按下
文檔:
load 加載完畢
error 加載失敗
unload 關(guān)閉
beforeunload 關(guān)閉之前
表單:
focus 焦點(diǎn)
blur 失去焦點(diǎn)
submit 提交事件
change 改變
其他:
scroll 滾動(dòng)
select 選擇
新增事件
oninput 事件在用戶輸入時(shí)觸發(fā)。該事件在 <input> 或 <textarea> 元素的值發(fā)生改變時(shí)觸發(fā)。
三 事件處理程序
第一種: 格式:<tag on事件="事件處理程序">
<a href="htp://www.baidu.com/" onclick="javascript:alert('You have Clicked the link!')">MYlinker</a>
注意:"javascript:"可以省略
第二種: 格式:<tag on事件="事件處理函數(shù)">
<a href="htp://www.baidu.com/" onclick="Myclick()">MYlinker</a>
<script type="text/javascript">
function Myclick(){
alert('You have Clicked the link!');
}
</script>
注意:事件處理函數(shù)不分前后
第三種:
格式 <script type="text/javascript">
對(duì)象.on事件=事件處理程序
</script>
<script>
window.onload=function (){
var oBtn=document.getElementById('btn1');
oBtn.onclick=function (){
alert('a');
};
};
</script>
注意: window.onload的意義,當(dāng)頁面加載的時(shí)候可以調(diào)用某些函數(shù);
對(duì)于第二種格式, 不需要window.onload語句, 而第三種格式必須要使用window.onload語句(也可以將事件處理程序放到DOM文檔底部);
四、實(shí)例
屏蔽鼠標(biāo)右鍵菜單(火狐瀏覽器不支持,IE和360支持)
<body oncontextmenu="return false;">
</body>
<body oncontextmenu="alert('010-123456789');return false">
</body>
<body oncontextmenu="return test()">
<script>
function test(){
alert('010-123456789');
return false;
</script>
</body>
兼容性最好的版本見 javascript|實(shí)例|屏蔽鼠標(biāo)右鍵
自動(dòng)將表單內(nèi)的英文轉(zhuǎn)換成大寫:
<input type="text" onkeyup="if(this.value!=this.value.toUpperCase()) this.value = this.value.toUpperCase() "/>
瀏覽器事件
瀏覽器事件指載入文檔直到該文檔被關(guān)閉期間的瀏覽器事件,如瀏覽器載入文檔事件onload、關(guān)閉該文檔事件onunload、
瀏覽器失去焦點(diǎn)事件onblur、獲得焦點(diǎn)事件onfocus等。
<script type="text/javascript">
<!--
window.onload = function ()
{
var msg="\nwindow.load事件 : \n\n";
msg+=" 瀏覽器載入了文檔!";
alert(msg);
}
window.onfocus = function ()
{
var msg="\nwindow.onfocus事件 : \n\n";
msg+=" 瀏覽器取得了焦點(diǎn)!";
alert(msg);
}
window.onblur = function ()
{
var msg="\nwindow.onblur事件 : \n\n";
msg+=" 瀏覽器失去了焦點(diǎn)!";
alert(msg);
}
window.onscroll = function ()
{
var msg="\nwindow.onscroll事件 : \n\n";
msg+=" 用戶拖動(dòng)了滾動(dòng)條!";
alert(msg);
}
window.onresize = function ()
{
var msg="\nwindow.onresize事件 : \n\n";
msg+=" 用戶改變了窗口尺寸!";
alert(msg);
}
//-->
</script>
卸載事件使用:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title> 卸載事件 </title>
<script type="text/javascript">
window.onunload = onunload_message;
function onunload_message(){
alert("您確定離開該網(wǎng)頁嗎?");
}
</script>
</head>
<body>
歡迎學(xué)習(xí)JavaScript。
</body>
</html>
多數(shù)瀏覽器內(nèi)部對(duì)象都擁有很多事件,下面將以表格的形式給出常用的事件及何時(shí)觸發(fā)這些事件。
JavaScript的常用事件
onabort 對(duì)象載入被中斷時(shí)觸發(fā)
onblur 元素或窗口本身失去焦點(diǎn)時(shí)觸發(fā)
onchange 改變<select>元素中的選項(xiàng)或其他表單元素失去焦點(diǎn),并且在其獲取焦點(diǎn)后內(nèi)容發(fā)生過改變時(shí)觸發(fā)
onclick 單擊鼠標(biāo)左鍵時(shí)觸發(fā)。當(dāng)光標(biāo)的焦點(diǎn)在按鈕上,并按下回車鍵時(shí),也會(huì)觸發(fā)該事件
ondblclick 雙擊鼠標(biāo)左鍵時(shí)觸發(fā)
onerror 出現(xiàn)錯(cuò)誤時(shí)觸發(fā)
onfocus 任何元素或窗口本身獲得焦點(diǎn)時(shí)觸發(fā)
onkeydown 鍵盤上的按鍵(包括Shift或Alt等鍵)被按下時(shí)觸發(fā),如果一直按著某鍵,則會(huì)不斷觸發(fā)。當(dāng)返回false時(shí),取消默認(rèn)動(dòng)作
onkeypress 鍵盤上的按鍵被按下,并產(chǎn)生一個(gè)字符時(shí)發(fā)生。也就是說,當(dāng)按下Shift或Alt等鍵時(shí)不觸發(fā)。如果一直按下某鍵時(shí),會(huì)不斷觸發(fā)。
onkeyup 釋放鍵盤上的按鍵(鍵盤上所有按鍵)時(shí)觸發(fā)
onload 頁面完全載入后,在Window對(duì)象上觸發(fā);所有框架都載入后,在框架集上觸發(fā);
<img>標(biāo)記指定的圖像完全載入后,在其上觸發(fā);或<object>標(biāo)記指定的對(duì)象完全載入后,在其上觸發(fā)
onmousedown 單擊任何一個(gè)鼠標(biāo)按鍵時(shí)觸發(fā)
onmousemove 鼠標(biāo)在某個(gè)元素上移動(dòng)時(shí)持續(xù)觸發(fā)
onmouseout 將鼠標(biāo)從指定的元素上移開時(shí)觸發(fā)
onmouseover 鼠標(biāo)移到某個(gè)元素上時(shí)觸發(fā)
onmouseup 釋放任意一個(gè)鼠標(biāo)按鍵時(shí)觸發(fā)
onreset 單擊重置按鈕時(shí),在<form>上觸發(fā)
onresize 窗口或框架的大小發(fā)生改變時(shí)觸發(fā)
onscroll 在任何帶滾動(dòng)條的元素或窗口上滾動(dòng)時(shí)觸發(fā)
onselect 選中文本時(shí)觸發(fā)
onsubmit 單擊提交按鈕時(shí),在<form>上觸發(fā)
onunload 頁面完全卸載后,在Window對(duì)象上觸發(fā);或者所有框架都卸載后,在框架集上觸發(fā)
Object 對(duì)象
Object 對(duì)象表示一個(gè) HTML <object> 元素。
<object> 元素用于在網(wǎng)頁中包含對(duì)象,比如:圖像、音頻、視頻、Java applet、ActiveX、PDF、Flash 等。
訪問 Object 對(duì)象
您可以使用 getElementById() 來訪問 <object> 元素:
var x = document.getElementById("myObject");
創(chuàng)建 Object 對(duì)象
您可以使用 document.createElement() 方法來創(chuàng)建 <object> 元素:
var x = document.createElement("OBJECT");
Object 對(duì)象屬性
屬性 | 描述 |
---|---|
align | HTML5 中不支持。使用 style.cssFloat 替代。 設(shè)置或返回對(duì)象相對(duì)于周圍文本的對(duì)齊方式。 |
archive | HTML5 中不支持。設(shè)置或返回一個(gè)用于實(shí)現(xiàn)對(duì)象存檔功能的字符串。 |
border | HTML5 中不支持。使用 style.border 替代。 設(shè)置或返回圍繞對(duì)象的邊框。 |
code | HTML5 中不支持。 設(shè)置或返回文件的 URL,該文件包含已編譯的 Java 類。 |
codeBase | HTML5 中不支持。 設(shè)置或返回組件的 URL。 |
codeType | HTML5 中不支持。 |
data | |
declare | HTML5 中不支持。 |
form | 返回對(duì)對(duì)象的父表單的引用。 |
height | 設(shè)置或返回對(duì)象的高度。 |
hspace | HTML5 中不支持。使用 style.margin 替代。 設(shè)置或返回對(duì)象的水平外邊距。 |
name | 設(shè)置或返回對(duì)象的名稱。 |
standby | HTML5 中不支持。 設(shè)置或返回在加載對(duì)象時(shí)的消息。 |
type | 設(shè)置或返回通過 data 屬性下載的數(shù)據(jù)的內(nèi)容類型。 |
useMap | |
vspace | HTML5 中不支持。使用 style.margin 替代。 設(shè)置或返回對(duì)象的垂直外邊距。 |
width | 設(shè)置或返回對(duì)象的寬度。 |
標(biāo)準(zhǔn)屬性和事件
Object 對(duì)象同樣支持標(biāo)準(zhǔn) 屬性 和 事件。
如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。