gpt4 book ai didi

javascript - this.$el.off 不是函数

转载 作者:行者123 更新时间:2023-11-30 08:29:24 25 4
gpt4 key购买 nike

以前这可以工作,但我已将下划线和 Backbone 更新到最新版本,然后出现错误

Uncaught TypeError: this.$el.off is not a function

http://jsfiddle.net/mmm770v8/

  SearchView = Backbone.View.extend({
initialize: function(){
this.render();
},
render: function(){
var template = _.template( $("#search_template").html(), {} );
this.el.html( template );
},
events: {
"click input[type=button]": "doSearch"
},
doSearch: function(){
// Button clicked
console.log(this.el.find('#search_input').val());
}
});

最佳答案

您有几个问题:

  1. 你的 fiddle 使用的是 jQuery 1.5.2,它很古老并且被使用 bind/unbind而不是on/off 。 Backbone 期望有更新版本的 jQuery,其中包含 onoff功能。

  2. 您正在使用 this.el 你的意思是 this.$el this.el只是一个普通的旧 DOM 节点,this.$el是缓存的$(this.el) .

  3. var html = _.template(tmpl, data)形式 _.template went away in Underscore 1.7.0 。您现在需要一个两步过程:

    var t = _.template(tmpl);
    var h = t(data);

    所以你的render应该看起来更像这样:

    render: function() {
    var template = _.template($("#search_template").html());
    this.$el.html(template({}));
    }

更新的 fiddle :http://jsfiddle.net/ambiguous/L5z4agh4/

关于javascript - this.$el.off 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40187899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com