2014-02-13 6 views
3

Я использовал jquery, чтобы выбрать элементы, которые он отлично работает.Angularjs: jquery selectable child element click issue

myModule.directive('uiSelectable', function ($parse) { 
    return { 
     link: function (scope, element, attrs, ctrl) { 

     scope.$on('clearselection', function (event, document) { 
      element.find('.ui-selected').removeClass('ui-selected') 
     }); 

      element.selectable({ 
       stop: function (evt, ui) { 
        var collection = scope.$eval(attrs.docArray) 
        var selected = element.find('div.parent.ui-selected').map(function() { 
         var idx = $(this).index(); 
         return { document: collection[idx] } 
        }).get(); 

        scope.selectedItems = selected; 
        scope.$apply() 
       } 
      }); 
     } 
    } 
}); 

вопрос, когда я нажимаю дочерний элемент в выбираемом он не получает щелкнул, а его родительский элемент мыши (где я осуществил выбор) увольняют

может кто-нибудь руководство мне, как я могу нажать ребенок элемент с помощью angularjs

Plunker

http://plnkr.co/edit/3cSef9h7MeYSM0cgYUIX?p=preview

после битном исследований я пришел к выводу его из-за Jquery UI-Выбирается любой одной есть идея, как это исправить с UI-выбираемыми или имеют другой альтернативы, чтобы выбрать несколько элементов с CTLR + Shift

+0

Вы можете сделать что-то вроде '$ (selected) .click()' – lucuma

+0

Мне нужно сделать это угловым способом. – Salman

+0

Вы уже используете jquery, $ (this), так почему? Обычный javascript был бы чем-то вроде 'selectable.onclick()', поэтому я не совсем понимаю суть углового пути? – lucuma

ответ

0

Добавить расстояние : 1 решит вашу проблему. Поскольку, когда вы начинаете выбирать, jQuery UI добавляет элемент (ui-selectable-helper) прямо под мышью и не позволяет щелкнуть элементы «ниже». http://plnkr.co/edit/WV9NmvwFX5ADYv5OUumF?p=preview

 Смежные вопросы

  • Нет связанных вопросов^_^