javascript - 带有 .done 的自己的函数

标签 javascript jquery

我有一个函数,例如:

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

这样我就可以简单地调用

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

但是,我也希望能够让 .done 调用正常工作:

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

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

提前致谢。

最佳答案

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

关于javascript - 带有 .done 的自己的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37622739/

相关文章:

javascript - Three.js 中一组共面点的最佳拟合矩形

javascript - 在 Meteor APP 上使用 jQuery 2.x

javascript - 文档就绪在部分 View 中无法正常工作

javascript - 将 Javascript 字符串保存或下载为文件

javascript - Bootstrap 4 显示警报

javascript - 为公共(public)共享保存值状态(添加到 URL)

javascript - ionic 本地存储 Angular

Javascript 调试 - 脚本适用于硬编码变量,不适用于 getElementById ('id' ).value

php - Javascript 和 PHP 类似的函数给出不同的输出

javascript - 检查 DOM 元素的 Node.js 模块