書寫成這樣:
<SCRIPT type="text/javascript" FOR="activexID" EVENT="onXXXevent()" >
// js 處理具體內容。
</SCRIPT>
當acitveX控件 onXXXevent()事件被觸發時,調用此方法。
如果一個半個的話還好說,幾十個這樣的函數,把我的頁面占據的滿滿的。況且在VS2008中,“設置選定內容格式化”總是提示:“未能完成該操作”.
於是我想用另一種方式來替代這種書寫,最起碼,可以把他放到一個單獨的js文件中。
復制代碼 代碼如下:
vbscript實現的很奇特
sub activex_onXXXevent()
' 處理具體內容
end sub
沒有搞明白。
復制代碼 代碼如下:
<script type = 'text/javascript'>
function onXXXevent(){
//js內容
}
activexID.attachEvent("onXXXevent", onXXXevent);
</script>
哦,這種方式,可以完美的實現,並且可以放到JS文件中,VS2008也可以支持。
順便記錄一下attachEvent的內容
在近來的工作中,用到了attachEvent方法,該方法可以為某一事件附加其它的處理事件,有時候可能比較有用,這裡將其基本用法總結一下。
其語法可以查看《DHTML手冊》,裡面有詳細的說明,這裡貼一個例子,該例子來自互聯網:
復制代碼 代碼如下:
document.getElementById("btn").onclick = method1;
document.getElementById("btn").onclick = method2;
document.getElementById("btn").onclick = method3;
如果這樣寫,那麼將會只有medhot3被執行
寫成這樣:
復制代碼 代碼如下:
var btn1Obj = document.getElementById("btn1");
//object.attachEvent(event,function);
btn1Obj.attachEvent("onclick",method1);
btn1Obj.attachEvent("onclick",method2);
btn1Obj.attachEvent("onclick",method3);
執行順序為method3->method2->method1
如果是Mozilla系列,並不支持該方法,需要用到addEventListener
復制代碼 代碼如下:
var btn1Obj = document.getElementById("btn1");
//element.addEventListener(type,listener,useCapture);
btn1Obj.addEventListener("click",method1,false);
btn1Obj.addEventListener("click",method2,false);
btn1Obj.addEventListener("click",method3,false);
執行順序為method1->method2->method3