gpt4 book ai didi

javascript - 为什么这个 Backbone View 没有初始化?

转载 作者:行者123 更新时间:2023-12-02 19:50:18 25 4
gpt4 key购买 nike

我正在尝试创建一个附加到 <li> 的简单主干 View 。元素。该元素包含 <span>有一些文字,两个 <input>文本框,以及 <button> 。单击时, <span> 的可见性和 <input>盒子应该切换。也就是说,一个人应该总是可见的,一个人应该总是不可见的。我用完整的 html 和 JS 代码编写了一个小演示。谁能看到我可能做错了什么?

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script src="http://ajax.cdnjs.com/ajax/libs/json2/20110223/json2.js"></script>
<script src="http://ajax.cdnjs.com/ajax/libs/underscore.js/1.1.6/underscore-min.js"></script>
<script src="http://ajax.cdnjs.com/ajax/libs/backbone.js/0.3.3/backbone-min.js"></script>

<script type="text/javascript">
(function($){
var FilterView = Backbone.View.extend({

el: $('li.filter.filterdate'),

events: {
'click button#filter-cal': 'toggleFilter'
},

initialize: function() {
_.bindAll(this, 'render', 'toggleFilter');

this.filtersOn = false;
this.render();
},

render: function() {
if (this.filtersOn) {
$(this.el).children('span').hide();
$(this.el).children('input').show();
} else {
$(this.el).children('span').show();
$(this.el).children('input').hide();
}
},

toggleFilter: function() {
this.filtersOn = !(this.filtersOn);
this.render();
}

});

var filter = new FilterView();
})(jQuery);
</script>
</head>

<body>
<ul>
<li class="filter filterdate">
<span>You are filtering</span>
<input type="text" />
<input type="text" />
<button id="filter-cal">Filter</button>
</li>
</ul>
</body>
</html>

最佳答案

似乎没有调用 documentonReady() 函数。

我将 Backbone 代码包装在 $(function(){ .. }); 中并且它加载正确。

问题可能出在 (function($){ ... })(jQuery) 构造和包含的 jQuery 版本上。 (如上所述。)

关于javascript - 为什么这个 Backbone View 没有初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9383443/

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