2

Chrome 控制台给了我这个错误:

Uncaught TypeError: Cannot call method 'get' of undefined 

我搜索该行并找到了这个:

  function _createResponder(element, eventName, handler) {
    var registry = Element.retrieve(element, 'prototype_event_registry');

    if (Object.isUndefined(registry)) {
      CACHE.push(element);
      registry = Element.retrieve(element, 'prototype_event_registry', $H());
    }
    var respondersForEvent = registry.get(eventName);

未捕获的类型错误:无法调用未定义的方法“get”

 if (Object.isUndefined(respondersForEvent)) {
      respondersForEvent = [];
      registry.set(eventName, respondersForEvent);
    }
4

1 回答 1

0

这似乎是在将“null”元素传递给事件绑定上的函数时发生的。尝试在第二行之前添加以下内容(var registry = ...)

if (element === null) return;

这将基本上防止在此函数中进行任何进一步的处理,当元素为空时,这不应该是必需的。

我没有发现在 Magento 上执行此操作有任何问题,但如果使用此修复程序有任何问题,请告诉我。

于 2013-11-19T05:53:18.880 回答