动态添加Div';We’我们不要参加IE


Dynamically Added Div's dont take events in IE?

我在代码中添加了一些使用javascript的动态div。

$('div#Tips').append(''
    + ' <div class="singleTip" id="'+data.x+''+data.y+'">'
    + data.content
    + ' </div>'
);

当用户悬停在一些元素上时,我显示了这个div。然而,它在IE中不起作用。它在所有其他浏览器上都起作用。有人能帮忙吗?我是新手。

编辑:添加JS代码

$('.tipPointer').hover(
    function(){
        var id = $(this).attr('id');
        $('div#allTips').children('div.singleTip#'+id).show();
    },
    function(){
        var id = $(this).attr('id');
        $('div#allTips').children('div.singleTip#'+id).hide();
    }
);

我在IE上遇到了类似的问题,后来只限于IE10。

要解决此问题,请尝试将背景图像添加到未显示的div元素中。出于某种原因,即使插入了一个不存在的图像,它也能工作,所以我使用了如下的图像。

<?php   if (preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT'])) {?>
<style type="text/css">
    .qtip{
        background-image:url(/none);
    }
</style>
<?php   }   ?>

我还添加了一个PHP检查,只为IE实现这个CSS,因为其他浏览器会为背景图像抛出404错误(并继续加载)。

我不记得这个解决方案是从哪里来的。如果我找到原始链接,我会更新答案。