我正在制作一个聊天网络应用程序,其中有表情符号。
我正在使用 MDL 来制作这个,对于表情符号,我使用的是工具提示。请参阅此预期行为的图片:
所以无论如何,把这些表情符号放在这里是我的代码
messageElement.innerHTML = messageElement.innerHTML.replace(/:alien:/g, '<div id=":alien:"><img class="emoji" src="https://greenbayrules.github.io/host/emojis/faceemoji/alien.png" /> </div><div class="mdl-tooltip" data-mdl-for=":alien:">:alien:</div>');
每当在数据库中收到新消息时,就会运行此代码。
问题是这些表情符号工具提示不起作用。这些元素出现在检查元素中,但它们不会在悬停时出现。另一方面,如果我复制粘贴相同的 HTML 元素并将其放入代码的 HTML 中,则它工作正常。
这让我认为 MDL 在加载网站时会执行某种脚本,激活所有工具提示。
首先,这里有什么问题?如果问题是此脚本在我添加表情符号的脚本之前运行,那么我如何重新运行该脚本,以便我的表情符号加载并运行工具提示?
你试过使用componentHanlder.upgradeElement
吗?例如:
messageElement.innerHTML = messageElement.innerHTML.replace(/:alien:/g, '<div id=":alien:"><img class="emoji" src="https://greenbayrules.github.io/host/emojis/faceemoji/alien.png" /> </div>');
var tooltip = document.createElement('div');
tooltip.className = 'mdl-tooltip';
tooltip.setAttribute('data-mdl-for', ':alien:');
tooltip.innerHTML = ':alien:'
componentHandler.upgradeElement(tooltip);
messageElement.appendChild(tooltip);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句