目标
发生某事后回忆功能的一种很好且明确的方法。
问题
我正在处理一些在发生某些事情时必须调用的函数。一个简单的例子是一个按钮,比如 Twitter 的关注按钮。
到这里为止,一切都好。但是,我不知道如何回忆。实际上,我已经尝试过使用$.getScript
jQuery,但它会导致对服务器的许多请求,我对这种行为感到不舒服。
为了说明这个问题,我做了这个 jsFiddle。当您第一次悬停按钮时,其样式会发生变化。当您单击它并再次单击时,“悬停行为”就会消失。
我真的不知道如何进行。
$.getScript
这是最好的解决方案吗?
有人有什么建议吗?
代码(如果 jsFiddle down)
代码上的 Knockout 只是一个例子,它是无关紧要的。我想用 ajax 调用和一切可能的方法来做到这一点。
HTML:
<div class="container">
<!-- ko if: isAdded -->
<button class="btn primary" data-bind="click: add">Add Xbox 360</button>
<!-- /ko -->
<!-- ko ifnot: isAdded -->
<button class="btn btn-success primary remove" data-bind="click: remove">Xbox 360 already added</button>
<!-- /ko -->
</div>
JavaScript:
$("button.remove").hover(function() {
$(this)
.removeClass("btn-success")
.addClass("btn-danger")
.text("Click here to remove");
}, function() {
$(this)
.removeClass("btn-danger")
.addClass("btn-success")
.text("Xbox 360 already added");
});
ViewModel = function() {
var self = this;
self.isAdded = ko.observable(false);
self.add = function(item) {
item.isAdded(false);
};
self.remove = function(item) {
item.isAdded(true);
};
};
ko.applyBindings(new ViewModel());