1

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

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

阿贾克斯:

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 and Blah!根据 twil 的回复,我有一个透明的“面具”div 覆盖了文本 div。我删除了掩码 div,瞧,一切正常。如果我的问题有任何可取之处,那就是我不得不问它以获得一些好的指示,以寻找另一个方向。谢谢大家。

4

1 回答 1

1

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

仍然奇怪的是 IE 让我点击div层。但是,嗯,在这一点上并不重要。

于 2013-07-18T13:55:39.727 回答