Угловая директива нажатием кнопки с вложенным html

0

У меня есть настраиваемая директива

<div class="btn active"  approveme="" data-ismember="0">
  <i class="show-mobile fa fa-mail-reply" title="Aprove"></i>
  <i class="hide-mobile">Approve</i>
</div>

Я привязываю клик к этому div, чтобы щелкнуть html внутри изменений div в Deny.

Вот пример кода моей директивы.

app.directive('approveme', function($modal) {   

  return function(scope, element, attrs, modal) {

    var somefunction = function(){

      if(attrs.ismember == 0){

            //do something
      }

    };


     element.bind('click', somefunction); 


  }

});

Когда я нажимаю на край кнопки и элемент console.log, я получаю родительский div, который возвращает атрибут ismember.

Однако, когда я нажимаю текст внутри div, элемент возвращает <i> который не имеет атрибута ismember

Как заставить элемент всегда возвращать родительский div?

  • 0
    Можете ли вы привести пример, который повторяет поведение? Я создал один с помощью JSBin и не могу воспроизвести. Возможно, это что-то, связанное с CSS inline, block, inline-block, z-index.
  • 0
    На самом деле я понял это, когда вы щелкаете тег i или div, чтобы просто использовать element.currentTarget для получения атрибутов.
Показать ещё 1 комментарий
Теги:

1 ответ

0

может попробовать это

   $(element).on( "click", function() {
      console.log(this);
      somefunction();
   });

Ещё вопросы

Сообщество Overcoder
Наверх
Меню