在js中调用控件事件的方法和问题

​编者:李国帅​


背景原因:

当用户点击控件,控件内部响应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"); }