首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JavaScript事件而不是MooTools Element.Event

使用JavaScript事件而不是MooTools Element.Event
EN

Stack Overflow用户
提问于 2019-09-13 20:31:11
回答 1查看 27关注 0票数 0

我继承了一个实现MooTools 1.4.5的代码库。

该代码还利用第三方库来处理响应设备上的拖动。该库中包含以下代码:

代码语言:javascript
复制
var dndEvent = new Event(type, {
    bubbles: true,
    cancelable: cancelable
});

该事件在匿名MooTools函数中产生以下异常:

Uncaught TypeError: Cannot read property 'indexOf' of undefined

MooTools代码是精简的(和未映射的),所以我还没有对未精简的代码进行测试,看看这个匿名函数有什么作用,但我怀疑它与MooTools Element.Event有关。

如果是这种情况,我该如何强制作用域使用JavaScript的事件接口而不是MooTools?

EN

回答 1

Stack Overflow用户

发布于 2019-09-14 14:54:15

一个快速的技巧(我认为你在这个阶段试图避免深度重构)是在Mootools覆盖它之前‘保存’事件对象:

代码语言:javascript
复制
<script>window.savedEvent = window.Event</script>
<script src="mootools.js"></script>

然后修改您的第三方库以使用'savedEvent‘,其中它现在显示为'Event',或者将所有它都放在一个作用域中。

代码语言:javascript
复制
+(function() {
  var Event = window.savedEvent
  //existing code goes here
})()

但这可能需要显式导出库提供的所有内容,方法是将这些标识符放在窗口对象上

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57923712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档