我有一个功能,例如:
$.fn.print = function() {
console.log(this);
}
这样,我可以简单地调用
$("#myExample").print();
但是,我还希望能够让.done呼叫正常工作:
$("#myExample").print().done(function(){
console.log("done");
});
有人可以指点我这样做的方向吗?我在这里找到了一些答案,但它们过于复杂,我无法让它发挥作用。
提前致谢。
答案 0 :(得分:0)
.done
仅适用于延迟对象。 https://api.jquery.com/deferred.done/。您的.print()
未创建/返回延迟对象。
$.fn.print = function(prefix) {
console.log(prefix + ": " + this.text());
return this;
}
$("#myExample").print("a");
$("#myExample").print("b").text("end").print("b");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="myExample">start</div>