события jQuery и Prototype

У меня есть код прототипа, который запускается при событии загрузки:

  Event.observe($(imageEl), 'load', this.someFunction.bind(this));

Когда я создаю «Настоящее» событие, используя код jQuery, например

  jQuery(...imageEl selector...).attr("src", filename);

он запускает код прототипа (someFunction). Хорошо!

Затем я пытаюсь запустить код прототипа с помощью триггера jQuery:

  jQuery(...imageEl selector...).trigger('load');

Но теперь ничего не происходит, т.е. эта строка не запускает код прототипа.

Есть идеи как вызвать событие прототипа из jQuery?


person Community    schedule 25.08.2009    source источник
comment
Почему вы используете обе библиотеки? И почему вы не можете просто вызвать событие из Prototype?   -  person James    schedule 26.08.2009
comment
Конечно, если бы я написал свой код с нуля, я бы использовал только jQuery. К сожалению, мне пришлось интегрировать старый код на основе Prototype + Scriptaculous с новым кодом на основе jQuery. Оба кода реагируют на внешние события! В частности, jQuery / UI resizable изменяет размер объекта (ов) DOM, чьи дочерние элементы управляются старым кодом на основе Scriptaculous для масштабирования (с использованием ползунка Scriptaculous и т. Д.). Я вроде решил проблему с помощью события DOMAttrModified. Я использую это в jQuery: jQuery (...). Attr ({...}); чтобы вызвать это: Event.observe (..., 'DOMAttrModified', ...); Привет, Сти   -  person    schedule 27.08.2009


Ответы (1)


Вы должны вызвать свой обработчик напрямую, передав необходимые аргументы, или вызвать собственное событие DOM.

ПРИМЕЧАНИЕ: запуск прототипа и триггер jquery создают настраиваемые события, а не собственные.

Прочтите следующие ответы о том, как запускать собственные события:

person Sergiy Sokolenko    schedule 18.11.2010