hum
hum
  • 发布:2015-04-30 15:08
  • 更新:2015-04-30 19:05
  • 阅读:3953

关于 addEventListener 监听

分类:5+ SDK

请问管理员,
我发现addEventListener 这个方法只有添加第一个页面中是有效的,

其他用create,open方法打开的新webview中,addEventListener 都不起作用

2015-04-30 15:08 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

贴下代码

hum

hum (作者)

index.html页面的script脚本如下:

var plusReady = function(){  
    document.getElementById('submit').addEventListener('tap',function(){  
        plus.nativeUI.showWaiting();  
        mainpage = plus.webview.create( 'html/gailan.html', 'mainpage');  
        mainpage.onloaded = function(){  
            plus.nativeUI.closeWaiting();  
            mainpage.show();  
        }  
    });  
    };  

if(window.plus){  
    plusReady();  
}else{  
    document.addEventListener("plusready",plusReady,false);  
}

在打开的gailan.html页面中,有个<div id="test">test litsener</div>

var plusReady = function(){  
    document.getElementById('test').addEventListener('tap',function(){  
        alert('onclick id test, show this alert message.')  
    });  
};  

if(window.plus){  
    plusReady();  
}else{  
    document.addEventListener("plusready",plusReady,false);  
}

在gailan的页面中,点击test litsener,无法监听到tap动作。

DCloud_UNI_FXY

DCloud_UNI_FXY

贴一下gailan.html的完整代码

hum

hum (作者)

<!DOCTYPE html>  
<html>  
<head>  
    <meta charset="utf-8">  
    <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />  
    <title>概览</title>  
    <link rel="stylesheet" href="../css/bootstrap.min.css">  
    <link rel="stylesheet" href="../css/global.css" />  
    <link rel="stylesheet" href="../css/global-blue.css" />  
</head>  
<body>  
<div id="test" style="margin:50px auto">test litsener</div>  
<script type="text/javascript">  
    var plusReady = function(){  
        document.getElementById('test').addEventListener('tap',function(){  
            alert('onclick id test, show this alert message.')  
        });  
    };  

    if(window.plus){  
        plusReady();  
    }else{  
        document.addEventListener("plusready",plusReady,false);  
    }     

</script>  
</body>  
</html>

补充:在div里头直接设置 onclick是可以正常运行定义好的脚本的,我现在是希望能用监听点击 事件的方式

  • DCloud_UNI_FXY

    你没有引用我们的mui.js或mui.min.js

    2015-04-30 19:05

hum

hum (作者)

在 index.html页面里头,也就是manifest.json里头定义的首页, addEventListener 事件都是有效的,以后打开的子页面都是无效的。

  • DCloud_UNI_FXY

    每一个页面都要引用

    2015-04-30 19:15

  • hum (作者)

    每一个页面都要引用我是知道的。所以您请看代码,新创建的页面是有写入 addEventListener 的,但是无效!!!

    2015-04-30 23:13

该问题目前已经被锁定, 无法添加新回复