3

イベントのにpreventDefault()を追加するにはどうすればよい<button>ですか?私が下に持っているものは機能していません..ありがとう

var View = Backbone.View.extend({

    initialize: function () {
        //console.log('initializing ' + this.options.blankOption);
        this.template = $('#list-template').children();
    },
    el: '#container',
    events: {
        'click button' : 'render'
    },
    render: function(){

        this.events.preventDefault(); // not working ????

        var data = this.model.get('data');

        $.each(data,function (i,v) {
            console.log(data.text + " " + data.href);
        });

    }
});
4

3 に答える 3

5

this.events はイベント オブジェクトではありません。だからうまくいかない

これを試して:

render: function(event){
    event && event.preventDefault();

    var data = this.model.get('data');

    $.each(data,function (i,v) {
        console.log(data.text + " " + data.href);
    });
}
于 2013-02-25T09:14:14.183 に答える
1

イベントオブジェクトを引数として受け取る

render: function(evt){

    evt.preventDefault();

    var data = this.model.get('data');

    $.each(data,function (i,v) {
        console.log(data.text + " " + data.href);
    });

}
于 2013-02-25T09:14:57.257 に答える
1

追加することで、アクションを再度アクティブにすることができます

this.delegateEvents();  // Re-activates the events for all the buttons

バックボーン js ビューの render 関数に追加すると、必要に応じて event.preventDefault() を使用できます。

于 2014-04-11T16:02:09.573 に答える