我有一个链接位于一个 div 元素内,我需要让整个 div 区域都可以点击... 在网上找到了几篇教程,但都无法满足我的需求...
我有一个链接位于一个 div 元素内,我需要让整个 div 区域都可以点击... 在网上找到了几篇教程,但都无法满足我的需求...
原始JavaScript:
<div onclick="alert('You clicked me !')">Click Me</div>
jQuery:
$('#div_id').click(function(){
alert('Clicked !!');
});
更新:(参考您提供的链接)
<div class="myBox">
blah blah blah.
<a href="http://google.com">link</a>
</div>
jQuery:
$(".myBox").click(function(){
window.location=$(this).find("a").attr("href");
return false;
});
上面的代码使用return false
取消了链接的默认行为(跳转链接),并将click
事件绑定到class为myBox
的div上,然后在该div中查找链接的src
属性,使用window.location
将页面重定向到该div中存在的链接的src
属性。因此,这基本上使该div可点击。a
标签内部嵌套div
不符合标准?是否有一些有用的资源可以指导哪些元素可以放置在哪里(我知道块级元素不能放在行内元素内,但是...)? - Eric去年我遇到了这个问题。我只需在div上添加一个onclick事件,如下所示:<div id="testimonial" style="cursor:pointer;" onclick="document.location='http://www.mysite.com/testimonials.html'">
您可以使用JavaScript代码来实现您的目标, 请查看本教程。
$(".myBox").click(function(){
window.location=$(this).find("a").attr("href");
return false;
});
这是 HTML 的示例:
<div class="myBox">
blah blah blah.
<a href="http://google.com">link</a></div>
但是有一种巧妙的方法可以使用CSS代码实现这一点,您必须将锚标签嵌套在div标签中,并将此属性应用于它,
display:block;
当你完成这个操作后,它将使整个宽度区域可点击(但在锚点标记的高度范围内),如果你想覆盖整个 div 区域,你必须将锚点标记的高度设置为与 div 标记的高度完全相同,例如:
height:60px;
这将使整个区域可点击,然后您可以应用text-indent:-9999px
到锚标记以实现目标。
这真的很棘手和简单,只是使用CSS代码创建的。