所以...
<div id="a">
<img src="/foo/bar.jpg">
</div>
我希望能够点击div内的任何地方,除了图像...
$(document).ready(function(){
// Somehow select id A but not the image here?!
$("#a").click(function(){
window.location = 'http://google.com';
});
});
这可能吗?
我尝试使用.not()和:not(),但无法弄清楚......有什么想法吗?
答案 0 :(得分:2)
见jQuery.is
documentation。您可以查看event.target
$("#a").click(function(e){
if(!$(e.target).is('img'))
window.location = 'http://google.com';
});
答案 1 :(得分:1)
事件在其发起的元素的所有父元素上触发。您需要检查触发事件的元素:
$(document).ready(function(){
$("#a").click(function(e){
if (e.target.nodeName.toLowerCase() !== 'img') {
window.location = 'http://google.com';
}
});
});
答案 2 :(得分:0)
尝试这样的事情:
<div style="position:relative;width:100px;height:100px">
<a style="display:block;width:100px;height:100px;position:absolute;top:0px;left:0px" href="http://google.de">Google</a>
<img src="/foo/bar.png" style="position:absolute;top:10px;left:10px" />
</div>
答案 3 :(得分:0)
需要查看event.target在JSBIN
上写一个例子