使用JavaScript事件而不是MooTools元素.Event
我继承了一个实现MooTools 1.4.5的代码库 该代码还利用第三方库处理响应设备上的拖动。该库中有以下代码:使用JavaScript事件而不是MooTools元素.Event,javascript,scope,mootools,dom-events,Javascript,Scope,Mootools,Dom Events,我继承了一个实现MooTools 1.4.5的代码库 该代码还利用第三方库处理响应设备上的拖动。该库中有以下代码: var dndEvent = new Event(type, { bubbles: true, cancelable: cancelable }); 该事件正在匿名MooTools函数中生成以下异常: 未捕获的TypeError:无法读取未定义的属性“indexOf” MooTools代码是缩小的和未映射的,因此我还没有针对未统一的代码对其进行测试,以了解这个匿名
var dndEvent = new Event(type, {
bubbles: true,
cancelable: cancelable
});
该事件正在匿名MooTools函数中生成以下异常:
未捕获的TypeError:无法读取未定义的属性“indexOf”
MooTools代码是缩小的和未映射的,因此我还没有针对未统一的代码对其进行测试,以了解这个匿名函数的作用,但我怀疑它与MooTools有关
如果是这种情况,我将如何强制作用域使用JavaScript的事件接口而不是MooTools?我认为您在这个阶段试图避免深度重构的一个快速方法是在MooTools覆盖事件对象之前“保存”它:
<script>window.savedEvent = window.Event</script>
<script src="mootools.js"></script>
但这可能需要您通过将这些标识符放在窗口对象上显式导出库提供的所有内容
+(function() {
var Event = window.savedEvent
//existing code goes here
})()