使用.done自己的功能

时间:2016-06-03 20:20:04

标签: javascript jquery

我有一个功能,例如:

$.fn.print = function() {
    console.log(this);
}

这样,我可以简单地调用

$("#myExample").print();

但是,我还希望能够让.done呼叫正常工作:

$("#myExample").print().done(function(){
    console.log("done");
});

有人可以指点我这样做的方向吗?我在这里找到了一些答案,但它们过于复杂,我无法让它发挥作用。

提前致谢。

1 个答案:

答案 0 :(得分:0)

.done仅适用于延迟对象。 https://api.jquery.com/deferred.done/。您的.print()未创建/返回延迟对象。

你是说要链接吗?与https://learn.jquery.com/plugins/basic-plugin-creation/#chaining一样。

$.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>