问题:返回的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,瞧,一切正常。如果我的问题有任何赎回质量,那就是我不得不要求它获得一些指向另一个方向的好指示。谢谢,全部。
答案 0 :(得分:1)
问题与javascript,jQuery或AJAX无关。发生的事情是我有一个透明的“掩码”div覆盖我的slideShowC div。所以我的html输出层被透明层覆盖。删除透明层后,链接当然是可点击的。
仍然很奇怪,IE让我点击通过 div图层。但是,啊,在这一点上并不重要。