2017-01-30 6 views
-1
<div class="portfolio-item"> 
<div class="hover-bg"> 
    <a href="#"> 
    <div class="hover-text"> 
    <h4>Logo Design</h4> 
    <small>Branding</small> 
    <div class="clearfix"></div> 
    <i class="fa fa-plus"></i> 
    </div> 
    <img src="01.jpg" class="img-responsive ng-isolate-scope"> 
    </a> 
    </div> 
</div> 
</div> 

Я пытаюсь обнаружить клики на элементе <img/>. У меня есть следующий слушатель:Detect click on img element

$('img').addEventListener 'click', ((event) -> 
    console.log event 
), false 

... но событие не срабатывает. Как я могу обнаружить событие click?

+0

'$ ('IMG') нажмите (функция() {}) ' – guradio

+0

Также у меня есть слушатель на html $ ('HTML') на "кнопку", (событие) -> console.log событие И когда я нажимаю на изображение в консоли - цель всегда div.hover-текст – pahan40

+0

@ pahan40 [HTTPS.: //jsfiddle.net/349zggez/] вы так выглядите. –

ответ

0

Я предлагаю вам использовать .on("click") вместо .click().

$('img').on("click", function() { 
 
    console.log("image clicked"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="portfolio-item"> 
 
    <div class="hover-bg"> 
 
    <a href="#"> 
 
     <div class="hover-text"> 
 
     <h4>Logo Design</h4> 
 
     <small>Branding</small> 
 
     <div class="clearfix"></div> 
 
     <i class="fa fa-plus"></i> 
 
     </div> 
 
     <img src="01.jpg" class="img-responsive ng-isolate-scope"> 
 
    </a> 
 
    </div> 
 
</div>

+0

Я понял эту проблему. Проблема заключается в позиционировании hover-bg. Он имеет абсолютное положение и лежит над изображением. Вот почему нажмите на это триггерное событие для div или div child, а не для изображения. Возможно ли обнаружить щелчок изображения, когда положение следующего элемента является абсолютным? – pahan40

0

Вы можете использовать JQuery нажмите событие следующим образом:.

$(document).ready(function(){ 
 
    $("img").click(function(){ 
 
     alert("The image was clicked."); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script> 
 
<div class="portfolio-item"> 
 
<div class="hover-bg"> 
 
    <a href="#"> 
 
    <div class="hover-text"> 
 
    <h4>Logo Design</h4> 
 
    <small>Branding</small> 
 
    <div class="clearfix"></div> 
 
    <i class="fa fa-plus"></i> 
 
    </div> 
 
    <img src="http://placehold.it/140x100" class="img-responsive ng-isolate-scope"> 
 
    </a> 
 
    </div> 
 
</div> 
 
</div>