我们正在为我们的某个Web应用程序使用Qlik sense + geo analytic。 请查看下面的图片Screen shot of my qlik sense map
在上图中,您可以看到不同颜色的针脚。每个引脚都有自己的信息。 Qlik sense没有为这些引脚提供任何点击事件,qlik sense仅提供鼠标悬停事件。但是我们的客户要求我在pin的click事件上显示一些弹出窗口,而不是鼠标悬停。
我已通过JavaScript document.activeElement
完成此操作,但该代码仅在Chrome中运行。
请找到以下代码:
var currentELement = document.activeElement;
currentELement.addEventListener("click",function (event) {
var el = event.target || event.srcElement;
var outerHtml = el.outerHTML;
if(outerHtml!=undefined && outerHtml!="" && outerHtml.indexOf("<canvas")!=-1)
{
//It will dsiplay popup
document.getElementById("LP").style.display="block";
document.getElementById("CT").style.display="none";
}
});
注意:我已经google了很多,并且知道在IE-9之前可能不了解addEventListener,所以我们必须使用attachEvent。
还尝试了以下代码:
function bindEvent(elmnt, eventName, eventHandler) {
if (elmnt.addEventListener){
elmnt.addEventListener(eventName, eventHandler, false);
}
else if (el.attachEvent){
elmnt.attachEvent(eventName, eventHandler);
}
}
var currentELement = document.activeElement;
bindEvent(currentELement, "click", function (event) {
var el = event.target || event.srcElement;
var outerHtml = el.outerHTML;
if(outerHtml!=undefined && outerHtml!="" && outerHtml.indexOf("<canvas")!=-1)
{
document.getElementById("LP").style.display="block";
document.getElementById("CT").style.display="none";
}
});
如果我做错了,请告诉我替代解决方案或纠正我。