我知道这是由我的 js 中的无限循环引起的,但我无法解释自己为什么。我想点击一行来触发同一行上的按钮。我正在尝试以下 JQuery,但是当我单击一行时,我最终会在行单击函数内陷入无限循环。这是为什么?
$(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();
});
});