欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

UI Events 用戶界面事件

 更新時間:2012年06月27日 10:33:23   作者:  
UI即User Interface(用戶界面)的簡稱。UI設(shè)計則是指對軟件的人機交互、操作邏輯、界面美觀的整體設(shè)計
UI Events并不是直接與用戶行為相關(guān),UI Event 包括如下:

  DomActivate:當元素被用戶的某些行為激活時,觸發(fā)該事件,例如用戶的鼠標或者鍵盤事件。這一事件在DOM3級事件中被廢棄了,F(xiàn)F2+和chrome支持,猶豫跨瀏覽器實現(xiàn)機制的不同,不推薦使用這個事件。

  load:在window對象上觸發(fā)是當頁面加載完畢之后觸發(fā)的,在frameset 是當所有的frames都加載完畢之后觸發(fā),當指img標簽時,是指圖片加載完畢之后等等。

  unload:在window對象上觸發(fā)是當頁面卸載完畢之后觸發(fā)的,在frameset 是當所有的frames都卸載完畢之后觸發(fā),當指img標簽時,是指圖片卸載完畢之后等等。

  abort:當一個元素沒有完全加載完,在用戶停止了下載操作之前,而觸發(fā)。

  error:當window的javascript發(fā)生錯誤時觸發(fā),當img不能加載是觸發(fā),或者object元素不能被加載時觸發(fā),當frameset中的一個或多個frame不能被加載時觸發(fā),
  select:當用戶選擇textbox中一個或多個字符時觸發(fā)該事件。
  resize:當window或者frame被改變大小的時候觸發(fā)。
  scroll:當用戶滾動一個帶滾動條的元素時觸發(fā)。
  絕大多數(shù)的HTML事件,要么與window對象相關(guān),要么與form控件相關(guān)。
  判斷一個瀏覽器是否在DOM2級事件上支持HTML事件,可以采用下面的代碼:
  var isSupport = document.implementation.hasFeature('HTMLEvents','2.0');
  若果在dom2級事件上實現(xiàn)的話,將會返回true,否則返回false
  var isSupported = document.implementation.hasFeature(“UIEvent”, “3.0”);
  在dom3級上同理。

The load Event

  load事件可能是javascript中最常用到的。對window對象而言,當網(wǎng)頁被完全加載完畢時,觸發(fā)load事件??偠灾?,任何發(fā)生在window上的事件可以通過body元素的屬性進行訪問,因為在HTML中是沒有權(quán)限訪問window元素。

  對于img標簽當你制定img標簽的src屬性時,同樣可以觸發(fā)他的load事件。

  如下:
復(fù)制代碼 代碼如下:

EventUtil.addHandler(window, “l(fā)oad”, function(){
var image = new Image();
EventUtil.addHandler(image, “l(fā)oad”, function(event){
alert(“Image loaded!”);
});
image.src = “smile.gif”;
});

  同樣也有其他的元素以一種非標準的方式支持load event,如script標簽元素,當在 IE9+、FF、Opera、Chrome、Safari3.0+中動態(tài)加script并且加載完成時將觸發(fā)script的load事件,與img元素不同,js文件開始加載是在src屬性被賦值之后,而且這個元素已經(jīng)被加入到document之中。因此Event handler的順序與src賦值無關(guān)。
  例子如下:
復(fù)制代碼 代碼如下:

EventUtil.addHandler(window, “l(fā)oad”, function(){
var script = document.createElement(“script”);
script.type = “text/javascript”;
EventUtil.addHandler(script, “l(fā)oad”, function(event){
alert(“Loaded”);
});
script.src = “example.js”;
document.body.appendChild(script);
});


 IE和Opera同樣支持link標簽的load事件。

The unload Event
  與load事件相對的就是 unload事件,這個事件當document完全被卸載的時候觸發(fā)。典型的例子就是,瀏覽器從一個一面導(dǎo)航到另一個頁面的時候會觸發(fā)該事件,并且通常是用這個事件來釋放內(nèi)存,避免沒有必要的內(nèi)存占用。與load事件相似,unload事件可以通過兩種方式進行創(chuàng)建即通過js和通過HTML屬性來創(chuàng)建。
  對于unload事件的處理函數(shù)要格外的小心,因為自從卸載事件被激發(fā),并不是所有的對象都是可用的,當頁面被加載仍然可用。試圖操作Dom節(jié)點的位置或者改變外觀會出現(xiàn)錯誤。

The resize Event

  當瀏覽器窗口的長度和高度被改變時會觸發(fā) resize 事件,這個事件發(fā)生在window對象上,注冊方式與前兩個事件的注冊方式相同。

  與其他發(fā)生在window對象上的事件相同,在dom瀏覽器中該事件的target指的是document,而IE8 和 更早版本的瀏覽器中是沒有相關(guān)屬性可以使用的。

  在不同的瀏覽器中resize事件存在這很多不同,在IE safari chrome opera中只要修改一個像素的值,該事件就會被觸發(fā)。而在FF中只有當重置大小操作停止時才會觸發(fā)這個事件。并且瀏覽器的最大 最小化同樣會觸發(fā)此事件。

The scroll Event

  雖然scroll事件發(fā)生在window對象上,但他也同樣適用于頁面級元素。在混在模式下,對應(yīng)的變化反映在<body>元素的scrollLeft和scrollTop屬性;在標準模式下,對應(yīng)的變化發(fā)生在<HTML>元素上,除了safari,其他的瀏覽器都遵守上述的規(guī)則,例如:

復(fù)制代碼 代碼如下:

EventUtil.addHandler(window, “scroll”, function(event){
if (document.compatMode == “CSS1Compat”){//標準模式反映在html上。
alert(document.documentElement.scrollTop);
} else {
alert(document.body.scrollTop);
}
});

相關(guān)文章

最新評論