我尝试将一些jQuery插件包装在Polymer元素中,但目前还没有太大的成功。例如,select2插件(这里讨论的问题)和在 这里 找到的DataTables插件。虽然不依赖于jQuery会很好,但就已经准备好使用的jQuery插件而言,其情况非常成熟,直到 Web Components 库赶上为止,有包装器将Web组件的所有优点带入jQuery插件库。 我的问题是,在 Polymer 元素中使用 jQuery 时是否存在任何需要考虑的关键问题?更有用的是,有哪些成功包装jQuery插件的 Polymer 元素的良好示例?我搜索了这样的示例,但至今发现甚少。
我的问题是,在 Polymer 元素中使用 jQuery 时,是否有任何需要考虑的关键问题?可能最大的问题将围绕 Shadow DOM。当您将标记放置在 Shadow DOM 中时,它无法被 jQuery 选择。许多插件假定其所有内容都可在 Light DOM 中使用,因此可能会导致各种问题。希望 jQuery 的新版本能够找到与 Shadow DOM 协同工作的方法,这样可能会减少这个问题。还有更有用的是,有没有成功包装 jQuery 插件的 Polymer 元素的好例子?如果您真的想使用 jQuery 插件并且 Polymer 元素,则最好在 Light DOM 中构建您的 jQuery 插件,然后将其作为 <content> 传递到您的元素中。这里是一个 jsbin 示例,它构建了一个 Select2 元素并将其传递到 Polymer 元素中以便显示。