2015-12-30 3 views
0

У меня есть пользовательские директивыУгловой кнопка директивы щелчка вложенной HTML

<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, внутри изменений Див Запретить.

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

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, блоком, встроенным блоком, z-index. –

+0

На самом деле я понял это, когда вы нажимаете i или тег div, чтобы просто использовать element.currentTarget для получения атрибутов. – Neil

+0

Полезно знать! Есть ли конкретная причина, почему вы не используете элемент '

ответ

0

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

$(element).on("click", function() { 
     console.log(this); 
     somefunction(); 
    }); 
Смежные вопросы