Я понимаю, что это вызвано бесконечным циклом внутри 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();
});
});
Nice Я добавил это к своему событию на странице и теперь работает. Большое спасибо! :) –