custom-element 相关问题

自定义元素是HTML的一项功能,它为您提供了一种构建自己的全功能DOM元素并在HTML标记,CSS样式表和JavaScript代码中使用它们的方法。

在弹出窗口中使用 Web 组件在 Firefox 中不起作用

TLDR 在弹出窗口中添加 Web 组件在 Chrome / Edge 中按预期工作。但在 Firefox 中,在我将 Web 组件添加到 dom 之前它可以正常运行,但之后它又恢复为

回答 1 投票 0

扩展html表单元素

第一次尝试扩展特定的 html 元素,在我的例子中是一个表单。我对源自 HTMLElement 的“普通”自定义元素/Web 组件有一些经验。 ...的基本代码

回答 1 投票 0

扩展 HTMLTextAreaElement 的 HTML5 ES6 自定义元素会导致非法构造函数崩溃

我需要从 HTMLTextAreaElement 扩展自定义元素,以便在表单中使用并直接获取值。但我总是收到非法构造函数消息 HTML: <

回答 2 投票 0

是否有 HTMX 触发事件等待自定义元素定义?

我正在使用使用自定义元素的鞋带组件库。我想在定义自定义元素时触发 htmx AJAX 请求。尝试使用加载事件,当 cu...

回答 1 投票 0

自定义 HTML 标签如何与克隆模板交互?

这是我感到困惑的测试用例。在 html 中(在正文末尾): 在...

回答 1 投票 0

为什么我不能有条件地从自定义 HTML 元素类扩展?

当我尝试在 CustomElementChild 中扩展 CustomElementParent 时,下面的代码片段会抛出一个错误,指出 CustomElementParent 未定义。 当我删除 ! customElements.get('custom-element-parent') 检查...

回答 1 投票 0

在 JavaScript 中实例化自定义内置元素不起作用

我制作了一个递归调用自身的自定义内置元素。但是,在 JavaScript 中生成的子元素不会继承自自定义内置元素。鉴于最初的

回答 1 投票 0

在附加到 DOM 之前和之后更改自定义元素内容

我创建了一个自定义 HTML 元素,该元素从以下模板创建一个新元素: 还没有什么 我创建了一个自定义 HTML 元素,它从以下模板创建一个新元素: <template id="track"> <div class="record">Nothing yet</div> </template> 这里是定义自定义元素的JS代码: class Track extends HTMLElement { constructor() { super(); this.template = document.getElementById("track"); this.clone = this.template.content.cloneNode(true); } connectedCallback() { this.append( this.clone ); } set record(html) { // Case 1: Works only for element 1 (before appending to the DOM) this.clone.querySelector('.record').innerHTML = html; // Case 2: Works only for element 2 (after appending to the DOM) //this.querySelector('.record').innerHTML = html; } } customElements.define('my-track', Track); 请注意更改 <div> 的 HTML 内容的记录属性。我希望能够更新元素内容,无论它是否已附加到 DOM。我无法编写在这两种情况下都有效的代码(在将自定义元素附加到 DOM 之前和之后)。以下代码仅适用于情况 1: const el1 = document.createElement('my-track'); el1.record = "Bla<b>bla</b> #1"; document.body.append(el1); 以下代码仅适用于情况2 const el2 = document.createElement('my-track'); document.body.append(el2); el2.record = "Bla<b>bla</b> #2"; 当然,在方法set record()中,我可以检查元素是否已经附加到DOM并相应地切换到情况1或情况2。但我觉得这不是构建自定义元素的正确方法。 在方法中更新元素内容的最佳选项是什么set record()无论元素是否已附加到 DOM? 我在这里创建一个 JSFiddle:https://jsfiddle.net/Alphonsio/gL8a239o/13/ 当没有 DOM 时,你无法向 DOM 写入任何内容。 就像还没有房子的时候,你不能在客厅放沙发一样。 这意味着您必须在 this.isConnected 方法中使用 set record 检查该元素是否附加到 DOM。 它是 JavaScript 类/对象的实例;您当然可以将任何您想要的东西附加到它并让constructor/attributeChangedCallback/connectedCallback处理它(但要仔细考虑房子/客厅的场景) const createElement = (tag, props = {}) => Object.assign(document.createElement(tag), props); customElements.define('my-track', class extends HTMLElement { connectedCallback() { this.append( this.recordDIV = createElement("div", { innerHTML: `Default Record content` })) } set record(html) { if (this.isConnected) this.recordDIV.innerHTML = html; else console.warn(this.id, "Not in the DOM yet") } }); const el1 = createElement('my-track', { id: "el1" }); el1.record = "Record #1"; document.body.append(el1); const el2 = createElement('my-track', { id: "el2" }); document.body.append(el2); el2.record = "Record #2";

回答 1 投票 0

JS CustomElements - 首次实例化时自行“注册”

所以我正在寻找一种为自定义元素设置 ES6“抽象”基类的方法,该基类在子元素的第一次实例化时进行自我注册(window.customElements.define)。 我采取的方法...

回答 1 投票 0

我应该如何引用角度自定义元素(Web 组件)中的资源

我创建了一个 Web 组件,并从其中引用了我的资产文件夹中的图像 如下 在本地一切都很好,我发布了我的

回答 5 投票 0

如何使用影子 DOM 附加样式表根据子节点选择器设置自定义 HTML 元素的样式?

我有一个自定义 HTML 元素,可以对按钮元素进行分组: 福 酒吧 巴兹 &...

回答 1 投票 0

FireFox/Safari 事件目标与影子 DOM 中的当前目标

我见过许多看似相似的(Firefox + Event Target)问题,但没有处理我的特定问题。 基本上,我在这里和参考文档中读到的所有内容都表明目标是......

回答 1 投票 0

FireFox 事件不会冒泡或从阴影 DOM 传播到光 DOM

编辑1 Firefox 实际上确实将一个事件冒泡到 light DOM,但它是一个 INPUT 事件;不是 CLICK 事件。为什么? 结束编辑1 文档说事件在阴影中的元素上触发......

回答 1 投票 0

自定义元素设置:构造函数与connectedCallback

我是 Web 组件的新手,我注意到一些示例在自定义元素的构造函数中设置 dom,而其他示例则在connectedCallback 中设置 dom。 因为两者似乎都工作正常(虽然我只尝试过

回答 1 投票 0

如何使字体 CSS 在自定义元素中工作

我们正在尝试使用自定义字体制作自定义元素应用程序。我们正在使用 @font-face 属性,但当我们检查时,会显示默认字体 Times New Roman。 这是代码的一部分...

回答 1 投票 0

使用 Bootstrap 设置自定义元素 ShadowDOM 样式不起作用

我尝试使用shadowDom及其样式(即bootsrap)创建自定义元素导航栏。我使用 NPM 安装了引导程序。然后我在 style.scss 中导入了 bootstrap 并获取了导航栏

回答 1 投票 0

找不到 CSS 选择器来设置 Shadow DOM 委托焦点的样式

编辑1+ 好吧,抱歉,徒劳无功。这似乎是一个直接的 CSS 问题。在光 DOM 中:- #disTick::部分(内藤){ 盒子阴影:插入 0px 1px 1px rgba(0,0,0,0.5), 0px 1px 0p...

回答 1 投票 0

自定义元素:无法从按钮扩展非法构造函数

问题 作品 MyButton 类扩展了 HTMLButtonElem...

回答 1 投票 0

如何为自定义元素提供回调

我决定尝试通过编写自定义元素来创建本机 Web 组件。 导出默认类 DropDown 扩展 HTMLElement { ... 当我把所有东西都准备好后,似乎很糟糕......

回答 1 投票 0

配置 HTML 元素使其行为类似于文本字符

是否可以将 HTML 元素(自定义元素或内置元素)配置为将其视为单个文本(非空白)字符 - 也就是说,它有一个隐含的 包裹在自身周围...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.