簡體   English   中英

如何:將Div鏈接,但不鏈接其中的圖像

[英]How to: Make a Div a link, but not the images within it

很抱歉詢問有關同一場景的更多問題,但是這里有:

我的文字很棒,圖像放置完美,但是,我不希望在單擊圖像時運行jquery slide方法(將其保存用於其他功能)。 僅當單擊圖像左側的“塊”時,才可以使滑動功能運行嗎?

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script> 
$(document).ready(function(){
  $("#flip").click(function(){
    $("#panel").slideToggle("slow");
  });
});
</script>
<body>

    <div id="flip">
        <div id="flipBox"><p>Click to slide the panel down or up</p></div>
        <img class="ux" src="http://placekitten.com/32/32" alt="complete" height="32" width="32" align="right" />
        <img class="ux" src="http://placekitten.com/32/32" alt="add" height="32" width="32" align="right" />
        <img class="ux" src="http://placekitten.com/32/32" alt="edit" height="32" width="32" align="right" />
        <img class="ux" src="http://placekitten.com/32/32" alt="remove" height="32"     width="32" align="right" />
    </div>
    <div id="panel">Hello world!</div>

</body>

這是jfiddle鏈接: http : //jsfiddle.net/rvAPk/

我非常感謝SO的知識淵博的人! 多謝你們!

-AJ

您可以使用e.stopPropagation()

防止事件使DOM樹冒泡,從而防止任何父處理程序收到該事件的通知。

$("#flip img").click(function(e){
    e.stopPropagation()
});

更新小提琴

或者,您可以嘗試以下操作:

<script> 
$(document).ready(function(){
  $("#flip").click(function(e){
    if(!($(e.target).is(".ux"))) {
      $("#panel").slideToggle("slow");
    }
  });
});
</script>

在Android瀏覽器中的實際開發中,由於某些原因,我遇到了event.stopPropagation()無法正常工作的問題,我采取了與上述相同的方法,即檢查事件目標。

按照您的示例,您可以這樣做...

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script> 
$(document).ready(function(){
  $("#flip").click(function(e){

    if($(e.target).prop("tagName") == 'IMG')
    return false;    
    $("#panel").slideToggle("slow");
  });
});
</script>
<body>

    <div id="flip">
        <div id="flipBox"><p>Click to slide the panel down or up</p></div>
        <img class="ux" src="http://placekitten.com/32/32" alt="complete" height="32" width="32" align="right" />
        <img class="ux" src="http://placekitten.com/32/32" alt="add" height="32" width="32" align="right" />
        <img class="ux" src="http://placekitten.com/32/32" alt="edit" height="32" width="32" align="right" />
        <img class="ux" src="http://placekitten.com/32/32" alt="remove" height="32"     width="32" align="right" />
    </div>
    <div id="panel">Hello world!</div>

</body>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM