[英]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.