javascript - 用 Sizzle 替换 dojo.query?

标签 javascript jquery dojo sizzle

Dojo 拥有最慢的选择器 compared to other JS frameworks .

我想知道是否可以在 Dojo 中使用 Sizzle 来让 dojo.query 在幕后使用它?我认为 jQuery 中就是这样使用的,所以在 Dojo 中也应该可以。

找不到任何有关如何执行此操作的信息。

PS 链接中的测试似乎正在积极开发并且每天都会更改,因此请确保您在该页面上选择最新版本。

编辑: 测试中的数字似乎不正确,并且 Dojo 和其他人之间的差异并不是那么根本。这使得将 Sizzle 纳入 Dojo 的任务不值得付出努力。

最佳答案

我对此没有确切的答案,但这似乎绝对是可能的。根据dojo ticket这个功能已经存在很长一段时间了。

dojo query documentation有一个名为 Alternate Selector Engines 的部分,其中包含指向 github repository 的链接看起来可以相当轻松地替换 dojo 查询引擎。

通过执行 dojo 的自定义构建,您可以自动烘焙 sizzle 引擎。如果你查看(源代码发行版)util/buildscripts/jslib/buildUtil.js,有一个用于query的参数:

"query": {
        defaultValue: "default",
        helpText: "Select a DOM query engine. Default value is the normal dojo.query engine. Using query=sizzle will use the Sizzle engine."
            + "Normal Dojo tests are not run routinely with the Sizzle engine. See dojo/_base/sizzle.js for the version of Sizzle."
    },

关于javascript - 用 Sizzle 替换 dojo.query?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8063962/

相关文章:

javascript - 如何更改 ng-repeat 上的图标

javascript - 什么是 jQuery 中的工厂函数?

javascript - 使用json数据打开新页面而不刷新页面

jquery - 使用 JQuery 将数组的数组合并为带有元素的单个数组

javascript - 如何找出根元素的名称?

javascript - 透明按钮无法在 Firefox 和 IE 中单击,但在 Chrome 和 Safari 中可以正常工作

javascript - 为什么我不能在我的对象字面量中访问 this.property?

javascript - 如何获取dojo中组合框所选项目的id

javascript - 将 onRowClick 绑定(bind)到 DoJo 数据网格 (dojox.grid.DataGrid)

javascript - dojox.mobile.ListItem OnClick 不起作用