2

モーダルポップアップウィンドウを作成するために、KendoUIと呼ばれるTelerikのjQueryソフトウェアを使用しています。確認が含まれているKendoモーダルポップアップボックスでかなり奇妙な問題が発生しています"Confirm"/"Cancel"。初めて確認ウィンドウを開いていずれかのボタン([確認]または[キャンセル])をクリックすると、ウィンドウは正しく機能します。このポップアップウィンドウを2回開いてボタンをクリックすると、剣道のclickイベントが2回発生します。3回目にウィンドウを開くと、クリックイベントが3回発生するなど、理由がわかりません。一度だけ発砲する必要があります。

これが私のJSコードです。2回起動するクリック機能は、[確認]セクションと[キャンセル]セクションの両方にあり、次の行から始まります.click(function () {

var kendoWindow = $("#delete-confirmation").kendoWindow({
    title: "Confirm",
    resizable: false,
    modal: true,
    center: true
});

kendoWindow.data("kendoWindow")
    .center().open();

kendoWindow
    .find(".delete-confirm")
    .click(function () {
        kendoWindow.data("kendoWindow").close();
        destroyItem();
    })
   .end();

kendoWindow
    .find(".delete-cancel")
    .click(function () {
        kendoWindow.data("kendoWindow").close();
    })
   .end();

私が間違っていることについて何か考えはありますか?

ありがとう

4

1 に答える 1

4

ダイアログを一度だけ初期化する必要があるようです(ダイアログを作成してハンドラーを追加します)。その後、ダイアログが必要になるたびに、

kendoWindow.data("kendoWindow").center().open();

コード行。ダイアログを開くたびに、新しいクリックハンドラーが追加され、以前のハンドラーと新しいハンドラーがすべてクリックイベントで呼び出されるように見えます。

于 2012-11-30T19:41:04.433 に答える