为什么我要一个jQuery UI Widget继承自己?

Rat*_*eek 6 jquery jquery-ui

从jQuery 1.9开始,widget可以从自身继承.我找不到一个真实世界的例子,说明为什么这会有用,坦率地说,继承自己的想法打破了我的大脑.这个功能的目的是什么?我可以使用以前无法做到的这个功能,或者之前会变得更难?

J. *_*uni 1

正如您链接我们的幻灯片中所说,“这是扩展小部件的理想方式”。

现在,您可以扩展小部件,而无需创建新的“不同”小部件对象(“不同”意味着“另一个名称”)。您可以添加功能并仍然使用完全相同的小部件对象名称。

// An incredibly contrived example
$.widget("ui.dialog", $.ui.dialog, {
  close: function() {
    if (confirm( "Is it closing time?" )) {
      this._super("close");
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

正如我们在示例中看到的,我们可以向对话框对象添加一个功能,该功能将出现在已经存在的对话框中,即,您不需要创建一个新的“扩展对话框”,然后更改现有代码以使用“扩展对话框”对象。相反,所包含的功能将已经可用并在那里工作。