2017-02-15 3 views
0

Итак, у меня есть эта строка кода;как вы мешаете кому-то дважды щелкнуть <tr> ng-click в угловом привязанном html?

<tr data-toggle="modal" data-backdrop="static" data-target=".bs-example-modal-lg-packageinfo" ng-click="retrievePromoData({!! $pPackages['iid']!!}, {!! $pPackages['prices']['0']['price']['floorPrice'] !!})"> 
    <td>                                       
    {!! $pPackages['name'] !!}                       
    </td> 
    <td class="hidden-xs">{!! $pPackages['sku'] !!}</td>                      
    <td>{!! $pPackages['prices']['0']['price']['floorPrice'] !!}</td> 
</tr> 

теперь проблема, когда я нажимаю тр, это работает отлично, но когда я двойной щелчок, или продолжайте нажимать, он перегружает JavaScript. как я могу помешать кому-то щелкнуть tr больше одного раза? или предотвратить событие от срабатывания более одного раза? Примечание: мой ng-click находится в tr, и я пробовал $ event.stopPropogation(); а также установка флага в javascript, они оба не работают. Любая помощь будет глубоко оценена! ура! :)

ответ

0

сделать класс следующим образом:

.disabled { 
    pointer-events: none; 
} 

В нг-щелчку < тр> добавить этот класс < тр> используя нг-класс.

+0

не работает помощник:/ –

+0

вы можете показать код, что вы сделали? Вы включили css, применяется ли css? – pranavjindal999

0

Проверить в вашем контроллере.

$scope.inProgress = false; 

retrievePromoData(){ 
    if(!$scope.inProgress){ 
    $scope.inProgress = true; 
    // your code 

    $scope.inProgress = false; 
    } 
} 

также попробовать это, если это необходимо

<tr ng-class="{'disabled' : inProgress }" > 

с классом

.disabled { 
    pointer-events: none; 
} 
+0

эй, @ankur, спасибо за быстрый ответ, yeap, я пробовал это раньше, установив флаг, он, похоже, не работает, хотя .. –

+0

У меня есть обновленный ответ. попробуйте, чтобы он ограничивал клик, пока текущий процесс не завершится –