原型无法调用未定义的方法'get'

时间:2013-05-22 00:05:11

标签: magento prototypejs

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);

未捕获的TypeError:无法调用未定义的方法'get'

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

1 个答案:

答案 0 :(得分:0)

当在事件绑定上将“null”元素传递给函数时,似乎会发生这种情况。尝试在第二行(var registry = ...)

之前添加以下内容
if (element === null) return;

这基本上会阻止此函数中的任何进一步处理,当元素为null时,这不应该是必需的。

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