что такое метод .kendobutton () в jquery и как отвязать и привязать событие 'click' для этой кнопки? - PullRequest
0 голосов
/ 08 мая 2020

Я хочу переопределить событие нажатия этой кнопки и написать для нее другую функцию, как я могу это сделать?

Эта функция написана внутри частичного представления (.cs html) в mvc . При нажатии кнопки открывается частичное представление и отображается таблица, содержащая данные. Поскольку я хочу отфильтровать показанные данные, мне нужно переопределить эту функцию в другом файле. js, поскольку я не могу изменить этот код.

Код:

<script>
$("#association-search-popup").kendoButton({
    enable: true,
    click: function (e) {
        var lookupEntityName = this.element.attr("data_lookupentityName");
        var lookupPropertyMetadata = this.element.attr("data_keypropertymetadata");
        var lookupAttribute = lookupEntityName;

        $.ajax({
            cache: false,
            type: "POST",
            url: "/Search/AssociationLookup",
            data: {"lookupEntityName": lookupEntityName},
            success: function (data) {
                var lookup_popup = $("#lookup_popup_content");
                lookup_popup.html("");
                lookup_popup.html(data);

                $('.searchbar-toggle').click(function (e) {
                    toggleFilterPane();
                    if ($("#divButtons").hasClass("search-popup-btn_expand")) {
                        $("#divButtons").removeClass("search-popup-btn_expand");
                        $("#divButtons").addClass("search-popup-btm_collapse");
                    } else if ($("#divButtons").hasClass("search-popup-btm_collapse")) {
                        $("#divButtons").removeClass("search-popup-btm_collapse");
                        $("#divButtons").addClass("search-popup-btn_expand");
                    }
                });

                $("#btnSelectItem").attr("search-lookup-type", "inheritance");

                ifPopup("lookup_popup");
            },
        });
    }
});

</script>

1 Ответ

1 голос
/ 08 мая 2020

Вы можете отменить привязку текущей функции щелчка, а затем привязать новую.

var button = $("#association-search-popup").getKendoButton();
button.unbind("click");
button.bind("click", function() {
    //new logic
});

Пример: Отменить привязку события щелчка

...