【发布时间】:2011-06-15 15:35:21
【问题描述】:
我在加载 Mootools 和 JQuery 的页面中有一个简单的表单。 JQuery 处于无冲突模式,这似乎应该不会引起任何问题。
有一个表单元素叫做“name”--
<input class="required" id="sendname" name="sendname" value="">
我正在尝试使用 Mootools 为其附加一个点击事件,以便在点击名称框时更新其他内容:
$('sendname').addEvent('click', function(e){
// do stuff.
});
问题是 click 事件永远不会被添加。
加载时出现此错误:
Uncaught TypeError: Cannot call method 'addEvent' of null
当我尝试与 js 控制台中的元素交互时,我收到以下错误:
> $('sendname').setProperty('value', 'test');
TypeError: Object sendname has no method 'setProperty'</strike>
编辑:前一个已通过加载更新的 Mootools 修复。但是,点击事件仍然无法正常运行,尽管它不会引发错误或警告。
这段代码几乎在我用过的任何情况下都能正常工作。我认为 jQuery 冲突存在一些问题,但$ 表示法有效的事实似乎证实了 noConflict 模式是可操作的。有什么想法吗?
【问题讨论】:
-
另一个随机想法:在这里使用两个 JavaScript 库是否重要?我会选择 Mootools OR jQuery 并将其他脚本转换为使用相同的脚本。
-
@Sparky672--你说得对,我更愿意坚持使用 mootools。然而,这不是我的选择,客户在网站中同时使用这两种方法。
-
@julio:下一步是发布更多相关代码、发布 JSFiddle 或发布页面链接。
-
@julio:另外,删除所有 jQuery 代码(暂时)只是为了验证您的 Mootools 代码是否按预期工作。
-
@Sparky672--这是给你的小提琴--jsfiddle.net/uSwzL/1。看起来我的页面中发生的事情是在 mootools 代码之后加载了 jQuery——所以 noConflict() 语句没有被兑现。
标签: javascript jquery mootools