javascript - 如何在 Google Chrome 中使用自定义元素 v1 扩展 <form>?

标签 javascript custom-element

我试图定义一个新的自定义元素扩展 HTMLFormElement 像:

class PrintableFormElement extends HTMLFormElement {
  constructor() {
    super();
    console.log("created: ", this);
  }
  print() { console.log(this.elements)); }
}
customElements.define("printable-form", PrintableFormElement, { extends: "form" });

这行不通。 <form is="printable-form" ...>没有 print()方法(define(...) 似乎失败了)和new PrintableFormElement因 Google Chrome 55 错误而失败。

new PrintableFormElement抛出以下错误:

Uncaught TypeError: Illegal constructor
    at PrintableFormElement (<anonymous>:3:5)
    at <anonymous>:1:1

我不知道如何在当前的 Google Chrome 中使用自定义元素 v1 定义自定义元素扩展。

Custom Elements v0 效果很好,但我想使用它。

最佳答案

自定义内置元素“v1”尚未在 Chrome 中实现,您应该使用 一个 polyfill。

有关更多详细信息,另请参阅来自 SO 的这个问题:

关于javascript - 如何在 Google Chrome 中使用自定义元素 v1 扩展 <form>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41457420/

相关文章:

javascript - 如何使用 javascript 将查询放入 url 中?

javascript - 如何在 Javascript 中动态更新背景图像大小

javascript - jQuery 中的隐藏/显示功能出现问题

javascript - 即使定义了observedAttributes之后,attributeChangedCallback也不会被调用

javascript - Rails API - AJAX 帮助程序

javascript - Chrome Kiosk 模式下的安全网站

javascript - Safari 上可定制的内置元素——通过脚本标签与 ES6 导入进行 polyfill

css - HTML5 自定义元素通配符 CSS 选择器

javascript - 在带有 CONTENT 标签的自定义元素中使用 SELECT 标签时出现问题

javascript - 如何将 JSON 对象传递给 Angular 自定义元素