asp.net 如何防止JQuery中的双击事件

8hhllhi2  于 2023-06-25  发布在  .NET
关注(0)|答案(2)|浏览(145)

我是新的jquery,我知道很多类似的职位有相同的,但它不工作,在我的情况不知道为什么?无论如何,让我解释一下我的场景,我正在调用下拉绑定方法网格点击事件,我只想调用一次,我尝试了这样。请帮帮我

$(function () {
            $("[id*=dgDepots]").one('click', function () {
                BindLocationsHeader();
            });
        });
    • 功能**
function BindLocationsHeader(data, status) {

    if (alldata != undefined && alldata.Locations != undefined) {
        var divisionCode = $('#ddlDivision').val();
        var regionCode = $('#ddlRegion').val();
        $('#ddlLocationH').empty();
        d = alldata.Locations;
        $("[id$='ddlLocationH']").append($("<option>select</option>").val("0").html("Select"));
        for (i = 0; i < d.length; i++) {
            if (divisionCode == d[i].DivisionCode && regionCode == d[i].RegionCode) {
                var ddlVal = d[i].LocationCode;
                var ddlText = d[i].LocationName;
                $("[id$='ddlLocationH']").append($("<option ExchangeRate='" + d[i].ExchangeRate + "' NoOfDecimals='" + d[i].NoOfDecimals + "' CurrencyCode='" + d[i].CurrencyCode + "' >select</option>").val(ddlVal).html(ddlText));
            }
        }
    }
}

网格视图

<dx:ASPxGridView ID="dgDepots" runat="server" ClientInstanceName="grid"
        Width="100%"
        OnRowDeleting="dgDepots_RowDeleting" OnRowInserting="dgDepots_RowInserting" OnRowUpdating="dgDepots_RowUpdating">
        <Columns>
            <dx:GridViewDataColumn FieldName="LocationCode" VisibleIndex="0">
                <EditItemTemplate>
                    <%--<select id="ddlLocation" name="ddlLocation" class="width50p input-tb"></select>--%>
                    <asp:DropDownList ID="ddlLocationH" class="width50p input-tb" runat="server"></asp:DropDownList>
                    &nbsp;<span><img src="/Images/icon_required_field.gif" /></span>

                </EditItemTemplate>
            </dx:GridViewDataColumn>
            <dx:GridViewDataColumn FieldName="CostCenterCode" VisibleIndex="1">
                <EditItemTemplate>
                    <%--<select id="ddlCostCenterCode" name="ddlCostCenterCode" class="width50p input-tb"></select>--%>
                    <asp:DropDownList ID="ddlCostCenterCode" class="width50p input-tb" runat="server"></asp:DropDownList>
                    &nbsp;<span><img src="/Images/icon_required_field.gif" /></span>
                </EditItemTemplate>
            </dx:GridViewDataColumn>
            <dx:GridViewDataColumn FieldName="GLCode" VisibleIndex="2">
                <EditItemTemplate>
                    <%-- <select id="ddlGLCode" name="ddlGLCode" class="width50p input-tb"></select>--%>
                    <asp:DropDownList ID="ddlGLCode" class="width50p input-tb" runat="server"></asp:DropDownList>
                    &nbsp;<span><img src="/Images/icon_required_field.gif" /></span>
                </EditItemTemplate>
            </dx:GridViewDataColumn>
            <dx:GridViewCommandColumn ShowNewButton="true" ShowEditButton="true" ShowDeleteButton="true" VisibleIndex="2">
            </dx:GridViewCommandColumn>

        </Columns>

在这个网格点击我想填充下拉列表值,我可以做同样的使用上述代码,但无法防止双击事件
但是在这种情况下,下拉列表没有绑定,控制台上没有出现任何错误。有谁能帮我做同样的事吗

pcww981p

pcww981p1#

这对我很有效

$(".button").on("click", (el) => {
    if (el.detail !== 1) { return; }

    // rest of your code here
});

el.detail包含点击计数。任何> 1的内容都将被忽略。

ki1q1bka

ki1q1bka2#

尝试dblclick

$(function () {
      $("[id*=dgDepots]").dblclick(function(e){
         e.preventDefault();
      });
});

相关问题