Jeditableプラグインを使用
すると、送信ボタンとキャンセル ボタンを非常に簡単に作成できます。
これは非常に簡単なコード例です (*)
MyView
(Backbone.View)で、Jeditableによって作成されたボタン送信のイベントクリックをトリガーしたいとしましょう。(**)
に関するコードは次のとおりです。Backbone.View
イベントをトリガーすると"click .submitBtn"
、 $('.edit_area').text の値は空の文字列になります。この問題を解決するために、次のコードを実装しました (* **)
(* **) のコードを改善する賢いアイデアはありますか? を使用したコールバックは好きではありませんsetTimeout
。
(*)
$('.edit_area').editable(function(value, settings) {
return(value);
}, {
type : 'textarea',
submit : '<div class="submitBtn">Ok</div>'
cancel : '<div class="submitBtn">Undo</div>'
});
(**)
MyView = Backbone.View.extend({
events: {
"click .edit_area" : "edit",
"click .submitBtn" : "close"
},
});
(* **)
close: function close ()
{
var that = this;
console.log($(this.el).find("[data-tid='editable']").text()); // empty string
setTimeout(function () {
console.log($(that.el).find("[data-tid='editable']").text()); // update string
that.model.save({
name: $(that.el).find("[data-tid='editable']").text()
});
}, 0);
},