Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态创建的元素单击事件在IE11中不起作用_Javascript_Qliksense - Fatal编程技术网

Javascript 动态创建的元素单击事件在IE11中不起作用

Javascript 动态创建的元素单击事件在IE11中不起作用,javascript,qliksense,Javascript,Qliksense,我们正在为我们的一个web应用程序使用Qlik sense+地理分析。 请看下图 在上图中,您可以看到不同颜色的管脚。每个pin都有自己的信息。Qlik sense不为这些管脚提供任何单击事件,Qlik sense仅提供鼠标悬停事件。但我们的客户要求我在点击pin事件时显示一些弹出窗口,而不是鼠标悬停 我已经通过JavaScriptdocument.activeElement完成了这项工作,但该代码仅在Chrome中运行 请查找以下代码: var currentELement = documen

我们正在为我们的一个web应用程序使用Qlik sense+地理分析。 请看下图

在上图中,您可以看到不同颜色的管脚。每个pin都有自己的信息。Qlik sense不为这些管脚提供任何单击事件,Qlik sense仅提供鼠标悬停事件。但我们的客户要求我在点击pin事件时显示一些弹出窗口,而不是鼠标悬停

我已经通过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"; 
    }
});
var currentELement=document.activeElement;
currentELement.addEventListener(“单击”,函数(事件){
var el=event.target | | event.src元素;
var outerHtml=el.outerHtml;

如果(outerHtml!=undefined&&outerHtml!=“”&&outerHtml.indexOf(“事件名称在旧IE事件模型中不同,应为
elmnt.attachEvent('on')+事件名称,事件处理程序)
,但这在IE11中不应该是个问题。在IE11中运行代码时,您的实际问题是什么?请注意,您没有在
bindEvent
函数中定义
el
,可能只是文章中的一个输入错误?
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"; 
    }
});