gpt4 book ai didi

javascript - mootools:$未定义

转载 作者:行者123 更新时间:2023-11-29 16:29:04 24 4
gpt4 key购买 nike

我有一个我不明白的奇怪错误。我只是将我的代码从 jQuery 转移到 Mootools,因为它比 jQuery 的困惑要干净得多。

现在当我使用

$$('div.canvas')

在 mootools 中我得到了正确的元素。

当我尝试

$(document).getElement('div.canvas')

它告诉我 $ 没有定义。如何定义 $$ 和所有辅助函数(如 $lambda 等)而不定义 $

1.1 到 1.2 有什么变化吗?文档还没有更新吗?

最佳答案

正如有人指出的那样,当 $ 被定义时,mootools 1.2.3+ 将不会接管它,而是恢复使用 document.id。这在该版本之前不会发生,因此它在很大程度上取决于您引用的版本。但自 1.11 以来它肯定发生了变化并且已记录在案,请阅读此处的公告 http://mootools.net/blog/2009/06/22/the-dollar-safe-mode/

对于您的应用程序设计,这意味着,如果您的结构是...

加载jquery(不需要noconflict,无所谓)
加载 mootools

...它可以按如下方式工作:

$("#foo"); // jquery
document.id("foo"); // mootools

// or create a temporary scope for mootools things
(function($) {
$("foo"); // mootools
})(document.id);

mootools 开发中的最佳/最新实践要求插件和代码发布以引用 document.id 或在此类闭包中以确保兼容性。这实际上是可以的,因为不像在 jquery 中 $ 别名 jQuery 单例,在 mootools 中 $ 只是一个选择器,所以它的使用将少得多。因此,输入 document.id("selector") 不会造成太大的拖累。

关于javascript - mootools:$未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2440102/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com