.on()イベントハンドラーの前に確認ダイアログチェックを追加します

リムコ

jqueryの.on( "click")イベントに対してハンドラーが実行される前に、確認ダイアログチェックを追加しようとしています。これはオリジナルです:

$(this.var_mainSelector).on("click",
    this.var_acceptOfferSelector,
    this.onAcceptOffer
);

私はもう試した:

$(this.var_mainSelector).on("click", this.var_acceptOfferSelector, 
    function() {
        var test = confirm("are u sure?");
        if(test) {
            this.onAcceptOffer
        }
    }

前もって感謝します!

ジョシュアK

ほとんど;)クロージャー自体が新しい「これ」を定義するので、this.onAcceptOfferもう定義されていません。

ソリューション

1)これを自分で保存する

var self = this;
$(this.var_mainSelector).on("click", this.var_acceptOfferSelector, function(evt) {
    var test = confirm("are u sure?");
    if(test) {
        self.onAcceptOffer.call(this, evt);
    }
});

2)を使用しないでくださいfunction代わりに使用する()=>

$(this.var_mainSelector).on("click", this.var_acceptOfferSelector, (evt)=>{
    var test = confirm("are u sure?");
    if(test) {
        this.onAcceptOffer.call(null, evt); // original "this" (the clicked element) is lost
    }
});

矢印関数( "()=>")は関数のコンテキストを変更していません

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

チェックボックスにブートストラップモーダル/ダイアログの確認を追加します

分類Dev

チェックボックスにブートストラップモーダル/ダイアログの確認を追加します

分類Dev

クライアントアプリにリダイレクトする前に、IdentityServerログインにチェックを追加します

分類Dev

グライドイメージリクエスト:downloadOnlyはダウンロードのみの前にキャッシュをチェックしますか?

分類Dev

codeigniterの確認ダイアログボックスでアンカータグにExcelファイルをダウンロードします

分類Dev

フルカレンダーのドラッグイベントにクラスを追加します

分類Dev

アイコンとチェックボックス付きのToolStripControlHost。どのようにアイテムをハイライトしますか?アイコンフィールドにアイコンを追加しますか?

分類Dev

アイコンとチェックボックス付きのToolStripControlHost。どのようにアイテムをハイライトしますか?アイコンフィールドにアイコンを追加しますか?

分類Dev

ラジオ ボタンとチェックボックスに同じイベント ハンドラーを追加します。

分類Dev

動的要素のイベントハンドラーをアタッチします

分類Dev

VBAハイパーリンク:ローカルフォルダーをアドレスの前に追加するメソッドを追加します

分類Dev

確認ダイアログでテンプレートにリダイレクトする前にアクションを実行します

分類Dev

ハードウェアの変更を確認する必要があるイベントログ

分類Dev

コアJavaScriptとイベントハンドラーを使用してチェックボックスをオンにします

分類Dev

アンチウイルスが原因で、ログイン前のハンドシェイク中にエラーが発生しましたか?

分類Dev

Caliburn.Microは、Behaviorのイベントでイベントハンドラーをアタッチします

分類Dev

イベントアクセサーが同じハンドラーを2回追加しないかどうかを確認します

分類Dev

接続タイムアウトが期限切れになりました。ログイン前のハンドシェイク確認応答を消費しようとしたときに経過したタイムアウト期間

分類Dev

RDBMSイベントストア:注文を確認します(シングルスレッドライター)

分類Dev

その行のチェックボックスがチェックされている場合、「OncheckedChange」イベントでグリッドビュー内にあるドロップダウンリストをバインドします

分類Dev

「mce:[ハードウェアエラー]:マシンチェックイベントがログに記録されました」がsyslogに表示されます。私は何をすべきか?

分類Dev

「mce:[ハードウェアエラー]:マシンチェックイベントがログに記録されました」がsyslogに表示されます。私は何をすべきか?

分類Dev

jqGrid:インライン編集で送信する前にダイアログを確認しますか?

分類Dev

非イベントディスパッチスレッドの途中で確認ダイアログボックスを表示する方法

分類Dev

イベントハンドラーが終了する前にチェックボックスを更新するために.trigger( "change")を使用できますか?

分類Dev

次のタスクを実行する前に、アラートダイアログボックスのパスワードを確認する

分類Dev

jQuery:イベントハンドラーがDOM内のすべての関連要素にアタッチされていることを確認する方法

分類Dev

サーバーとの接続は正常に確立されましたが、ログイン前のハンドシェイク中にエラーが発生しました。(プロバイダー:TCPプロバイダー、エラー:35)

分類Dev

WinsockwsクライアントとWebsocketサーバー間のハンドシェイクを確立します

Related 関連記事

  1. 1

    チェックボックスにブートストラップモーダル/ダイアログの確認を追加します

  2. 2

    チェックボックスにブートストラップモーダル/ダイアログの確認を追加します

  3. 3

    クライアントアプリにリダイレクトする前に、IdentityServerログインにチェックを追加します

  4. 4

    グライドイメージリクエスト:downloadOnlyはダウンロードのみの前にキャッシュをチェックしますか?

  5. 5

    codeigniterの確認ダイアログボックスでアンカータグにExcelファイルをダウンロードします

  6. 6

    フルカレンダーのドラッグイベントにクラスを追加します

  7. 7

    アイコンとチェックボックス付きのToolStripControlHost。どのようにアイテムをハイライトしますか?アイコンフィールドにアイコンを追加しますか?

  8. 8

    アイコンとチェックボックス付きのToolStripControlHost。どのようにアイテムをハイライトしますか?アイコンフィールドにアイコンを追加しますか?

  9. 9

    ラジオ ボタンとチェックボックスに同じイベント ハンドラーを追加します。

  10. 10

    動的要素のイベントハンドラーをアタッチします

  11. 11

    VBAハイパーリンク:ローカルフォルダーをアドレスの前に追加するメソッドを追加します

  12. 12

    確認ダイアログでテンプレートにリダイレクトする前にアクションを実行します

  13. 13

    ハードウェアの変更を確認する必要があるイベントログ

  14. 14

    コアJavaScriptとイベントハンドラーを使用してチェックボックスをオンにします

  15. 15

    アンチウイルスが原因で、ログイン前のハンドシェイク中にエラーが発生しましたか?

  16. 16

    Caliburn.Microは、Behaviorのイベントでイベントハンドラーをアタッチします

  17. 17

    イベントアクセサーが同じハンドラーを2回追加しないかどうかを確認します

  18. 18

    接続タイムアウトが期限切れになりました。ログイン前のハンドシェイク確認応答を消費しようとしたときに経過したタイムアウト期間

  19. 19

    RDBMSイベントストア:注文を確認します(シングルスレッドライター)

  20. 20

    その行のチェックボックスがチェックされている場合、「OncheckedChange」イベントでグリッドビュー内にあるドロップダウンリストをバインドします

  21. 21

    「mce:[ハードウェアエラー]:マシンチェックイベントがログに記録されました」がsyslogに表示されます。私は何をすべきか?

  22. 22

    「mce:[ハードウェアエラー]:マシンチェックイベントがログに記録されました」がsyslogに表示されます。私は何をすべきか?

  23. 23

    jqGrid:インライン編集で送信する前にダイアログを確認しますか?

  24. 24

    非イベントディスパッチスレッドの途中で確認ダイアログボックスを表示する方法

  25. 25

    イベントハンドラーが終了する前にチェックボックスを更新するために.trigger( "change")を使用できますか?

  26. 26

    次のタスクを実行する前に、アラートダイアログボックスのパスワードを確認する

  27. 27

    jQuery:イベントハンドラーがDOM内のすべての関連要素にアタッチされていることを確認する方法

  28. 28

    サーバーとの接続は正常に確立されましたが、ログイン前のハンドシェイク中にエラーが発生しました。(プロバイダー:TCPプロバイダー、エラー:35)

  29. 29

    WinsockwsクライアントとWebsocketサーバー間のハンドシェイクを確立します

ホットタグ

アーカイブ