我使用MUI写了一个APP,在Android上运行。并自定义了事件,使用fire触发,发现事件在指定窗口都能收到,但是有的情况是正确的;有的情况事件收到了,但是参数值是错误的,在event中,包含了isTrusted=false的内容,event.detail也为空,这个参数不是我期望的。有没有人遇到与我相同的情况,请教如何解决?
(1)发现错误的代码如下:
在类似于微信的底端页面框架中的代码:
(barItemWebView[0]是通过mui.preload一个预加载的一个窗口,是在底端页面框架代码中创建出来的窗口)
barItemWebView[0].addEventListener("loaded", function()
{
bFirstContentWebViewIsLoaded = true;
setTimeout(JCFGetPosition, 1000);
}, false);
在JCFGetPosition中调用了mui.fire(barItemWebView[0], 'GetMyPos', {pos:JCF_obj2json(jcfMyLocationPos)});以便发出事件。
在目标窗口内接收事件:
window.addEventListener('GetMyPos',function(event){
//获得事件参数
var id = event.detail.id;
alert("Recv GetMyPos event:"+JCF_obj2json(event));
});
结果,发现这里的事件能收到,但打印出来永远是isTrusted=false,event.detail也为空,不是期望的参数。不知道何故。
(2)另一处正确的代码:点击列表,显示详情的页面,采用类似以上的方法,则接收到的事件参数是正确的。
有没有人遇到与我相同的情况,请教如何解决?
谢谢!
j***@qq.com
嗯,这个信息给了我很大的帮助!
2020-01-18 22:40