2013-08-15 2 views
2

Я понимаю, что это вызвано бесконечным циклом внутри js, но я не могу объяснить, почему. Я хочу, чтобы нажимал кнопку, чтобы вызвать кнопку в той же строке. Я пытаюсь использовать следующий JQuery, но когда я нажимаю на строку, я заканчиваю бесконечным циклом внутри функции щелчка строки. Почему это?Uncaught RangeError: превышен максимальный размер стека вызовов, ошибка Chrome JS

$(document).on('pageinit', function (event) { 
    bindRowClick(); 
}); 

function bindRowClick() { 
    $('.orderTable').find('tr').click(function() { 
     var btnView = $(this).find('td.tdViewOrder').find('input[type=submit]:first'); 
     btnView.trigger("click"); 
    }); 
} 

У меня есть таблица с class=".orderTable" и ретранслятор внутри <tbody>

<tbody> 
    <asp:Repeater ID="rptrOrderView" runat="server" OnItemDataBound="rptrOrderView_ItemDataBound" OnItemCommand="rptrOrderView_ItemCommand"> 
     <ItemTemplate> 
      <tr class="hand"> 
       <td class="title"> 
        <asp:Label runat="server" ID="lblTdOrderNum"></asp:Label> 
       </td> 
       <td class="tdViewOrder"> 
        <asp:Button runat="server" ID="btnViewOrder" Text="View" CssClass="btnViewOrder" SkinID="btnViewMiniB" CommandName="ViewOrder" /> 
       </td> 
      </tr> 
     </ItemTemplate> 
    </asp:Repeater> 
</tbody> 

Я знаю, что это очень общий вопрос, но я до сих пор не решить мою проблему.

РЕШЕНИЕ

Я добавил event.stopPropagation(); в мой обработчик щелчка и теперь работает.

$(document).on('pageinit', function (event) { 
    bindRowClick(); 
    $('.btnViewOrder').click(function (event) { 
     event.stopPropagation(); 
    }); 
}); 

ответ

2

Это наиболее определенно, потому что btnView.click распространяется и в конечном итоге срабатывает щелчок Ивентов tr «s - в результате чего все, что нужно идти в циклах.

Что нужно сделать, так это позвонить event.stopPropagation() из обработчика кликов для btnView (что отсутствует в вопросе).

+0

Nice Я добавил это к своему событию на странице и теперь работает. Большое спасибо! :) –

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