拼写HTML
let cont = "人员姓名:" + $scope.data.name + "<br/>" +
"人员电话:" + phone + "<br/>" +
"人员性别:" + gender + "<br/>" +
"人员类别:" + accessType + "<br/>" +
"人员单位:" + companyName + "<br/>" +
"被访人员:" + visitHuman + "<br/>" +
"被访部门:" + visitHumanDep + "<br/>" +
"查看轨迹:" + "<i class='layui-icon layui-icon-location' style='font-size: 18px;' οnclick='showInfoList1(1)'></i>";
layer.open({
type: 1,
area: ['400px', '240px'],
shadeClose: true, //点击遮罩关闭
content: cont,//'\<\div style="padding:20px;">自定义内容\<\/div>'
shade: false
});
以上代码中我们拼写了一段字符串+HTML片段,实现点击触发showInfoList1()方法,获取方法体中的内容信息。当我们单纯的在js中写出了showInfoList1()方法,可是在浏览器页面点击标签时,控制台将返回无法找到此方法。
function showInfoList1(qq){
console.log("- - qq-- -"+ qq)
}
如图,报错信息中显示此方法未定义,即无法读取到showInfoList1()方法体中的内容
解决办法
此时,需要将showInfoList1()方法赋给window对象,通过window对象获取此方法,然后执行方法体中的内容。只需一行代码即可解决:
window.showInfoList1 = showInfoList1;