2013-08-05 6 views
0

Функция прокси не будет работать, но нормальная функция нормальноприменять прокси-функцию EventHandler с использованием библиотеки Молоток

Что я могу сделать, чтобы заставить его работать

Это problably вопрос сфера, но как я использовать «применять» или «вызывать» в этом контексте?

delegateEvents: function(){ 
      for (var key in this.events) { 
      var methodName = this.events[key]; 
      var method  = this.proxy(this[methodName]); 

      var match  = key.match(this.eventSplitter); 
      var eventName = match[1], selector = match[2]; 

      if (selector === '') { 
       this.el.bind(eventName, method); 
      } else { 
       eventName == "click" && (eventName = "tap click"); 
       console.log("selector",selector); 
       console.log("eventName",eventName); 
       var eel = $$(selector, $(this.el)); 
       Hammer(eel).on(eventName, method); 
      } 
      } 
     } 
     }); 

и часть Хаммера

Hammer.Instance.prototype = { 
    /** 
    * bind events to the instance 
    * @param {String}  gesture 
    * @param {Function} handler 
    * @returns {Hammer.Instance} 
    */ 
    on: function onEvent(gesture, handler){ 
     var gestures = gesture.split(' '); 
     for(var t=0; t<gestures.length; t++) { 
      this.element.addEventListener(gestures[t], handler, false); 
     } 
     return this; 
    }, 

функция прокси

util = { 
     proxy: function(fn, context, args){ 
      var argsArr = slice(arguments, 2); //curried args 
      return function(){ 
       return fn.apply(context, argsArr.concat(slice(arguments))); 
      }; 
     }, 

становится частью контроллера

result.proxy = function(func){ return util.proxy(func, this); }; 
so, this.proxy == result.proxy and the context is already set to this 

спасибо, если кто-нибудь знает, что это

+0

Значит, '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' и вы хотите привязать 'метод' к какому контексту? – Bergi

+0

Контроллер позвоночника, но я думал, что прокси-сервер уже это сделал. Util - это просто отдельный объект с некоторыми вспомогательными функциями. Отредактировал вопрос, чтобы уточнить. – Richard

+0

Ах, ОК. Похоже, это уже сработает, не так ли? – Bergi

ответ

0

Проблема заключалась в том, что Minified library вернул селектор, с которым не удалось работать библиотека Hammer .

Ну, это было мое первое предположение

Это было на самом деле тот факт, что я использовал один тип селектора для двух различных функций, то «$» версия, которым возвращает объект минимизирован, но Молоток просто нуждается в узле и поэтому нуждается в версии «$$».