我有一个页面,当您单击带有文本的选项卡时,您将链接到另一个页面,其中包含一个包含在白色块中的扩展描述。在此页面上,我希望用户能够通过单击背景中的任何位置(而不是白色块)返回上一页。现在,点击页面上任何地方的扩展说明会链接到主页面(当它应该忽略包含描述的白色div上的点击时)。这是我的javascript:
$('html:not(.detailwhite)').mousedown(function(e) {
document.location.href="index.html";
e.stopPropagation();
});
这是我的HTML:
<!DOCTYPE html>
<html>
<head>
<title>Group details</title>
<!--library files-->
<script src="lib/jquery_min.js"></script>
<!--stylesheets-->
<link rel="stylesheet" type="text/css" href="style/detailstyle.css">
<!--javascript-->
<script type="text/javascript" src="js/interactive.js"></script>
</head>
<body class="detailbg">
<div class="detailwhite">
<h1 class="name">Group Name</h1>
<img class="pic" src="style/testPic300x200.png" alt="Group picture"/>
<p class="description">Here's the detailed description of the group.<p>
</div>
</body>
</html>
摘要:点击任何内容但是'detailwhite'div应该将用户链接回index.html。不幸的是,'但'被忽略了。
感谢阅读。
答案 0 :(得分:4)
您的选择器正在将处理程序添加到没有类detailwhite
的html元素中,而是需要
jQuery(function ($) {
$(document).mousedown(function (e) {
document.location.href = "index.html";
e.stopPropagation();
});
$('.detailwhite').mousedown(function (e) {
e.stopPropagation();
});
})
演示:Fiddle