方法一頁 | 二頁 | 三頁 | 四頁 | 五頁 | 六頁 | 七頁
操控器一頁 | 二頁 | 三頁 | 四頁 | 五頁 | 六頁 | 七頁 | 成員表
用滑鼠由其它程式拖曳檔案,文件;放置此視窗,會啟動此事件操控器。要用 addEventListener設定事件操控器。
- 程式用法:
<script type='text/javascript'>
function ondragdropHd(e)
{
var e = e || window.event;
alert('拖放 : ' +e);
e.cancelBubble = true;
if(e.stopPropagation) e.stopPropagation();
}
function ondragdropSet(hd)
{
if(window.addEventListener)
window.addEventListener("dragdrop", hd, false);
else
window.attachEvent("ondrop", hd);
}
function ondragdropClear(hd)
{
if(window.removeEventListener)
window.removeEventListener("dragdrop", hd, false);
else
window.detachEvent("ondrop", hd);
}
</script>
<a href='javascript:ondragdropSet(ondragdropHd)'>設定操控器</a> //
<a href='javascript:ondragdropClear(ondragdropHd)'>清除操控器</a> - 執行結果:
- 上例只在 Firefox 測試成功。
當執行發生錯誤時,會跳到此特徵設定的操控器。操控器回傳 true,可以防止執行系統預設的操控器。操控器的參數:
- 錯誤訊息字串。
- 發生錯誤處的 URI 字串。
- 錯誤碼。
在 HTML 元素上使用 onerror 卻無法宣告參數時,可用 arguments[0] 至 arguments[2] 取得參數值。
可以使用 try catch 處理執行的錯誤。系統執行的錯誤會產生 Error 物件。
- 程式用法:
<script type='text/javascript'>
function onerrorHd(m, l, c)
{
alert(m +' : '+ c +' : : '+ l);
window.onerror=null;
};
function mistake()
{
//var a=new Array(9999999999);
var a=ABC;
}
function onerrorSet(hd)
{
window.onerror=hd;
}
</script>
<a href='javascript:onerrorSet(onerrorHd)'>設定操控器</a> //
<a href='javascript:mistake()'>產生錯誤</a> - 執行結果:
- Safari, Chrome 失敗;IE, Firefox, 執行成功。
當視窗獲得焦點,會啟動此事件操控器。可加在 HTML 元素上使用,請參考 onfocus。 下例中,先點選設定操控器,然後將焦點移到其它程式,再移回來。
- 程式用法:
<script type='text/javascript'>
function onfocusHd(e)
{
var e = e || window.event;
window.onfocus=null;
alert('回來啦! '+e);
}
function onfocusSet(hd)
{
window.onfocus=hd;
}
</script>
<a href='javascript:onfocusSet(onfocusHd)'>設定操控器</a> - 執行結果: