我有一個圖像的盒子,當懸停事件被解僱時,我顯示一個社交媒體,如FB,Twitter,pinterest等共享按鈕覆蓋。
現在,當用戶點擊重疊部分時,我希望他重定向圖像的詳細信息頁面,如果他點擊任何社交媒體按鈕,則應執行後續操作。這就是我試過的
Jquery單擊事件不起作用的覆蓋按鈕
<script type="text/javascript">
$(".over").click(function(e){
if ($(e.target).is('.followBtn')) {
//this should not trigger if a click occured on one of the links
console.log('herhererhreh');
e.stopPropagation();
}else{
window.location=$(this).find("a.overClick").attr("href");
//alert('in else!!');
}
});
這是與按鈕相同的覆蓋div的HTML
<div class="over">
<div class="twitter"></div>
<div class="facebook"></div>
<div class="pintrest"></div>
<a href="javascript:void(0)" class="followBtn">Follow Vendor</a> </div>
</div>
.over
是類覆蓋的<div>
和.followBtn
是類上的覆蓋按鈕的。
如果我點擊疊加層,它可以正常工作,但是當我點擊上面的按鈕時,它會進入if
,但執行多次,即在控制檯窗口中獲得10-12個console.log輸出。
我無法弄清楚這個問題。任何輸入或鏈接都會有幫助。
更新:我的問題在一定程度上,它是b'coz類的印刷品的console.log多次(我有多個圖像,並點擊該事件觸發所有這些的)。我的問題是我如何將this
傳遞給目標,以便我只獲取當前執行該事件的按鈕?或者我需要在id上做到這一點?
問題已解決,但我忘了添加答案!謝謝你的回答 – coderunner