2009-08-25 9 views
3

私は「ロード」イベント時にトリガされたプロトタイプのコードを持っている:私はjQueryとプロトタイプのイベント

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

のようにjQueryのコードを使用して「実際の」イベントを作成すると、それはプロトタイプを発射

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

をコード(someFunction)。 良い!

次私はjQueryのトリガーを使用したプロトタイプのコードを発射しよう:

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

しかし、今、何もこのラインがプロトタイプコードを発射しない、すなわち起こりません。

任意のアイデアjQueryからPrototypeイベントをトリガする方法は?

おかげで、 STY

+0

を?なぜPrototypeからイベントを起動するだけのことができないのですか? – James

+0

もちろん、ゼロから自分のコードを書く場合は、jQueryだけを使用します。残念ながら、Prototype + Scriptaculousに基づく古いコードをjQueryに基づく新しいコードと統合する必要があります。どちらのコードも外部イベントに反応します。 具体的には、jQuery/UIの「サイズ変更可能」は、古いScriptaculousベースのコードで管理されているDOMオブジェクトのサイズを変更します(Scriptaculousスライダなどを使用)。 DOMAttrModifiedイベントを使用して問題を解決しました。私はこれをjQueryで使用します: jQuery(...)。attr({...}); これをトリガーするには Event.observe(...、 'DOMAttrModified'、...); 乾杯、 Sty –

答えて

2

あなたは直接必要な引数を渡すあなたのハンドラを呼び出すか、ネイティブDOMイベントをトリガする必要があります。

注:プロトタイプのfireとjqueryのトリガーは、ネイティブではなくカスタムイベントを作成します。

ネイティブイベントをトリガする方法については、以下の回答を読む:あなたは両方のライブラリを使用しているのはなぜ

関連する問題