У меня есть довольно простой код. К сожалению, в нижней части этого кода есть обратный вызов с некоторыми жестко закодированными селекторами jQuery, и я хотел бы найти способ их вывести.CoffeeScript: делает обратный вызов более общим
Для этого упражнения, давайте предположим, что:
- .text-шоу-до-вот где текст появляется
- .user-типа-вот где пользователь на самом деле вводится текст
Это просто: пользовательские типы где-то, текст реплицируется где-то в другом месте. Вот код.
class TextChanger
constructor: (@selector) ->
events = ['change', 'keydown', 'keyup', 'keypress']
@bind(event) for event in events
update_text: ->
$('.text-shows-up-here').text $('.user-types-here').val()
bind: (event) ->
@selector.on(event, @update_text)
window.Try ?= {}
window.Try.textChanger ?= TextChanger
А с другой стороны, в Javascript земли ...
var textChanger = new Try.textChanger($('.user-types-here'));
Я хотел бы знать, если/как я могу принести эти два жестко закодированных селекторы из этого обратного вызова в 'bind':
bind: (event) ->
@selector.on(event, @update_text)
Я пробовал что-то в этом роде. Он отлично работает, если я назову его вручную «new Try.textChanger ({s: x, t: y}). Update_text() - но это не так круто, как работа в качестве связанного события. – Trevoke
Что вы имеете в виду Что происходит? –
Ну .. Текст не обновляется. – Trevoke