私はビューを持っています。バックボーンイベントハンドラを介してイベントをトリガした要素を取得する方法
//define View
var CreatePollView = Backbone.View.extend({
events: {
"click #addOption": "addOption",
"change .dynamicInput": "changeInputs"
},
initialize: function() {
_.bindAll(this, "render", "addOption", "changeInputs");
this.model.bind('change', this.render);
},
changeInputs: function() {
var newVal = $(this).val(); // this throws exception in jquery script
this.model.set("Subject", { Subject: newVal });
}, ....
変更イベントがトリガーされた要素(入力要素)にどのようにアクセスできますか?
+1本当に面白い、私は時々、まだこれらのバインドと格闘:) – Sander
の 'changeInputs'メソッドの中に、必要に応じてBrianが提案した' $(e.currentTarget) 'や' $(e.target) 'を呼ぶことによって変更された特定の要素を得ることができます。 'e'はjqueryイベントのargsオブジェクトですので、diffを理解するためにjqueryのドキュメントを読んでください。 –
おかげで@サンド。良い説明。それはそれを行う適切な方法のように思えます。一方、私はそれを有効にすることができましたが、引数コレクションはどこから来ているのか分かりません。以下のコードを参照してください。 changeInputs:function(){ var newVal = arguments [0] .srcElement。値; this.model.set( "Subject"、{Subject:newVal}); }、 – Tom