jQuery AJAX返回的HTML数据锚标签在Firefox中无法点击

时间:2013-07-18 13:01:20

标签: jquery html ajax hyperlink anchor

问题:返回的html中的锚标记文字在Firefox中无法点击(没有“手形光标”,也没有动作)。 IE 10似乎处理得很好。

设置:使用jQuery AJAX调用抓取html内容的php页面,然后将其返回到浏览页面中id =“slideShowC”的div。数据类型= html。当我提醒返回的html时,它与被调用的页面相同。

AJAX:

function populateContent(i,w,h){
    var url = "slideshow.php?ss="+ssContent[i]+"&i="+i+"&width="+w+"&height="+h;
    $.ajax({
        type: "GET",
        url: url,
        async: true,
        dataType: 'html',
        success: function(data) {
            $('#slideShowC').html(data);
        },
        error: function (){
            //alert("error: " + url);
        }
    });
    return true;
}

html正确显示。颜色和文本是正确的,甚至超链接文本的颜色看起来正确,蓝色,带下划线。你可以看到它是一个超链接。但是使用Firefox时,当我将鼠标悬停在链接文本上时,光标不会改变以指示文本是超链接的。

这是从远程页面(同一个域,同一站点文件夹)返回的示例html块

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>SlideShow 1</title>
<style> body{ margin:0; }
.ssBox{
    background-color:#CCC;
    color:#000;
    width:280px;
    height:280px;
    padding:10px;
 }
 .ssBox h1{ 
    margin:0px; 
 }
</style>
</head>
<body>
<div class="ssBox">
<h1>The Technology</h1>
<p>See the <a href="technology.php">technology</a>.</p>
</div>
</body>
</html>

链接位于底部的第四行。它渲染到html div容器就好了,但就像我说的那样,它在Firefox中无法点击。我没有看到明显的东西吗?我是否遗漏了一些重要信息?

重要更新: 正如我在下面的评论中提到的,我认为我的问题与javascript,jQuery,AJAX等没有任何关系。当我在主页中硬编码html时,链接仍然无法点击:

 <div id="slideShowC" class="textBox" ><?php include("html/slideshow/slidecontent1.html"); ?></div>

我将不得不研究页面html / stylesheet来看看发生了什么。

更新: Blither和Blah!根据twil的回复,我有一个覆盖文本div的透明“掩码”div。我删除了面具div,瞧,一切正常。如果我的问题有任何赎回质量,那就是我不得不要求它获得一些指向另一个方向的好指示。谢谢,全部。

1 个答案:

答案 0 :(得分:1)

问题与javascript,jQuery或AJAX无关。发生的事情是我有一个透明的“掩码”div覆盖我的slideShowC div。所以我的html输出层被透明层覆盖。删除透明层后,链接当然是可点击的。

仍然很奇怪,IE让我点击通过 div图层。但是,啊,在这一点上并不重要。