私はこのコードのようなものを持っています:
for (var i = 0; i < interactions.length; i++) {
action = interactions[i].split(':');
if (events.indexOf(action[0]) >= 0) {
$(this).bind(action[0], function (e) {
if (action.length == 2) {
model[action[1]]();
}
else if (action.length == 3) {
var args = action[2].split('|');
model[action[1]].apply(null, args);
}
});
}
}
変数「events」は、単に「click、dblclick」などのイベント名を含む文字列です。問題は、イベント内に入ると、「action」変数がコンテキストを失っていることです。これは、「アクション」がコンテキストにとどまる必要がある構造のような閉鎖のように見えますが、そうではありません。この例では、次のように 2 つの相互作用があります。
1) クリック:保存
2) 無効:SomeCustomFunction
そのため、クリック イベントを実行すると、action[1] が「保存」であることが期待されますが、実際には「無効」になっています。だから、それが最後に設定されたものと同じように、それが私が得たものです。
物事を文脈に保つ方法はありますか?
本当にありがとう、