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