Этого можно достичь, закрыв ссылку на ваш экземпляр и используя apply, чтобы принудительно установить область действия функции:
На шаге 1 у меня есть ваш пример, показывающий, как this
является элементом, по которому щелкнули: http://jsfiddle.net/JAAulde/GJXpQ/
На шаге 2 у меня есть пример, который сохраняет ссылку на ваш экземпляр в вашем конструкторе, затем устанавливает анонимную функцию в качестве обработчика щелчков и вызывает ваш метод щелчков из сохраненной ссылки. http://jsfiddle.net/JAAulde/GJXpQ/1/ Это заставляет this
в вашем обработчике кликов быть вашим экземпляром и будет работать для вас, если вам не нужен доступ к элементу, по которому щелкнули.
На шаге 3 я сохранил ту же ссылку и использовал анонимную функцию, но внутри этой функции я выбираю аргументы, которые входят в анонную функцию при нажатии, я добавляю ссылку на экземпляр к этим аргументам и вызываю обработчик щелчка в области действия элемента, по которому щелкнули, и передать новый набор аргументов. http://jsfiddle.net/JAAulde/GJXpQ/2/ Используя эту методологию, внутри обработчика щелчка я могу получить доступ к нажатому элементу через this
, а экземпляр myClass
- через instance
.
Надеюсь, это поможет. Это может быть довольно запутанным, поэтому задавайте вопросы, если это необходимо.