Javascript 无法在超链接div内单击img

Javascript 无法在超链接div内单击img,javascript,jquery,html,css,Javascript,Jquery,Html,Css,当使用jQuery单击gear imgdiv时,我试图显示一个下拉列表,但由于它被包装在a标记中,它最终将我重定向到url,我还希望整个div都可以单击。请提出解决方案或更好的方法来实现这一点 <a href="http://www.google.com"> <div class="content"> <div class="gear-img"><img src="images/ic-settings-black-24-px.svg">

当使用jQuery单击
gear img
div时,我试图显示一个下拉列表,但由于它被包装在
a
标记中,它最终将我重定向到url,我还希望整个div都可以单击。请提出解决方案或更好的方法来实现这一点

<a href="http://www.google.com">
  <div class="content">
    <div class="gear-img"><img src="images/ic-settings-black-24-px.svg"></div>
    <div class="dropdown"></div>
  </div>
</a>                    

因为仅仅添加一个锚(链接)并不能让它按照您的意愿工作。它现在完全按照你告诉它的去做;当你点击它,它就会进入谷歌

您可以放下锚,添加一点jQuery:

<div class="content">
    <div class="gear-img"><img src="images/ic-settings-black-24-px.svg"></div>
    <div class="dropdown"> A<br/> B<br/> B<br/> </div>
</div>

因为仅仅添加一个锚(链接)并不能让它按照你的意愿工作。它现在完全按照你告诉它的去做;当你点击它,它就会进入谷歌

您可以放下锚,添加一点jQuery:

<div class="content">
    <div class="gear-img"><img src="images/ic-settings-black-24-px.svg"></div>
    <div class="dropdown"> A<br/> B<br/> B<br/> </div>
</div>

内联
元素的元素不应包含
元素

更改代码如下:

$(文档).ready(函数(){
$('.gear img')。单击(函数(){
$('.dropdown').toggle();
})
})
。下拉列表{
显示:无;
}
img{
宽度:50px;
光标:指针;
边缘顶部:10px;
}


下拉列表
内联
元素不应包含
元素

更改代码如下:

$(文档).ready(函数(){
$('.gear img')。单击(函数(){
$('.dropdown').toggle();
})
})
。下拉列表{
显示:无;
}
img{
宽度:50px;
光标:指针;
边缘顶部:10px;
}


下拉列表
您可以停止将事件传播到父a标记上:

$(".gear-img").click( function(event){
     //you toggling code here....
     event.preventDefault();
     event.stopPropagation();
});

为每个不同的行为分区添加不同的可点击行为。

您可以停止将事件传播到父a标记上:

$(".gear-img").click( function(event){
     //you toggling code here....
     event.preventDefault();
     event.stopPropagation();
});
为每个不同的行为分区添加不同的可点击行为。

试试这个:

$(函数(){
$('gear img img')。打开('click',函数(e){
e、 停止传播()
$('.dropdown ul li')。切换('show');
log('Image Clicked!');
});
$('a')。在('click',函数(e)上{
e、 停止传播()
$('.gear img img')。单击()
返回false;
});
});
.show{
显示:块;
}
李先生{
显示:无;
}

试试这个:

$(函数(){
$('gear img img')。打开('click',函数(e){
e、 停止传播()
$('.dropdown ul li')。切换('show');
log('Image Clicked!');
});
$('a')。在('click',函数(e)上{
e、 停止传播()
$('.gear img img')。单击()
返回false;
});
});
.show{
显示:块;
}
李先生{
显示:无;
}

您可以这样做。 最初,让下拉列表div显示none。 点击该图像div,我们可以显示下拉div。请查找代码,如果需要进一步帮助,请告诉我


函数fun()
{
var x=document.getElementById(“下拉列表”);
x、 style.display=“block”;
}
您可以这样做。 最初,让下拉列表div显示none。 点击该图像div,我们可以显示下拉div。请查找代码,如果需要进一步帮助,请告诉我


函数fun()
{
var x=document.getElementById(“下拉列表”);
x、 style.display=“block”;
}

why u have href=“”如果您不想重定向它,请说明您的代码,到目前为止您尝试了什么。您好,我想您可以使用select标记作为下拉列表。不要同时使用
a
标记中的href和
img
中的
src
,您必须使用任何一个。因为
img
标记在
a
标记中,如果你想让整个div都可以点击,那么为什么不使用css和jquery呢?这不是一种使div可点击的方法。为什么你给href=“”,如果你不想重定向它如何显示你的代码,到目前为止你尝试了什么。嗨,我想你可以使用select标记作为下拉列表。不要同时使用
a
标记中的href和
img
中的
src
,您必须使用任何一个。因为
img
标记在
a
标记中,如果你想让整个div都可以点击,那么为什么不使用css和jquery呢?这不是使div可点击的方法。这是一个有效的解决方案!如此有效的解决方案!我已经编辑了代码。最初,没有js代码。我已经编辑了代码。最初,没有js代码。