1. 程式人生 > >在js中呼叫控制元件事件的方法和問題

在js中呼叫控制元件事件的方法和問題

在js中呼叫控制元件事件的方法和問題

編者:李國帥

qq:9611153 微信lgs9611153

時間:2008-11-27 9:38

背景原因:

當用戶點選控制元件,控制元件內部響應lbuttondown,然後激發訊息fire_onclick。客戶端響應控制元件 onclick 事件,進行相關的操作。

方法1:

<script event="OnTestEvent(ntype,sRet)" for="WebPlayer0" type="text/javascript">  TestEvent1(ntype,sRet);</script>

<script

event="onclick()" for="WebPlayer0" type="text/javascript">  alert();</script>

問題:

為什麼

    <script event="OnTestEvent(ntype,sRet)" for="WebPlayer0" type="text/javascript">  TestEvent(ntype,sRet);</script>

出現問題,提示引數個數不對或引數型別錯誤

 

原因:

         原來是TestEvent是WebPlayer0物件的內部介面之一,放在script內部直接呼叫了控制元件的方法。

 

    <script event="OnTestEvent(ntype,sRet)" for="WebPlayer0" type="text/javascript">  TestEvent1(ntype,sRet);</script>

function TestEvent1(ntype,sRet){    alert();}

 

 

這樣就對了,它指示呼叫document的TestEvent1方法,而不是WebPlayer0.TestEvent()。

一個小問題這折騰了我老半天。

 

方法2:

WebPlayer0.OnTestEvent = function(ntype,sRet){}

//或者

WebPlayer0.onclick = function()    {    alert("onclick");    }

objx = document.getElementById("WebPlayer0");

 objx.onclick = function()    {    alert("onclick");    }