3

私はhandsontable jQueryプラグインを使用しています。ユーザーがセルの編集を停止したときに傍受しようとしています。セルをダブルクリックするとhandsontableInput、そのセルの位置にクラスを含むテキスト エリアが表示されます。

jQueryを使用して、ユーザーが他の場所をクリックするたびにコールバックを取得しようとしたため、テキストエリアのフォーカスが失われました。

簡単な focusout コードは次のとおりです。

$(".handsontableInput").focusout(function () {
    alert("LLL");
});

これが私のフィドルです。

また、handsontable のあるページがフレーム内にあり、フレームの外側をクリックした場合、これは機能しますか?

ありがとうございました

4

4 に答える 4

10

.on次の方法を使用する必要があります。

$("#exampleGrid").on('focusout','.handsontableInput',function () {
    alert("LLL");
});

JSFIDDLE: http://jsfiddle.net/edi9999/HEH5C/1/

コードの問題は、 の実行時に、$(".handsontableInput")このクラスの要素ではなかったため、イベントがどの要素にも関連付けられなかったことです。

于 2013-07-15T10:05:56.557 に答える
3

次のようなデリゲート イベント:

$("#exampleGrid").on('focusout',".handsontableInput",function () {
    console.log("LLL");
});
于 2013-07-15T10:05:25.280 に答える
2

.handsontableInput動的に生成されるため、イベント委任を使用する必要があります

$(document.body).on('focusout',".handsontableInput",function () {
    console.log("LLL");
});

デモ---> http://jsfiddle.net/HEH5C/2/

于 2013-07-15T10:05:35.643 に答える