-2

他人のプロジェクトを引き継いで、そのワークフロー図を作成しています。多くの詳細には触れませんが、去った人は Web 部門で高度なプログラミング スキルを持った唯一の人物でした (そこのほとんどの人は、制作作業と HTML/CSS の作業を行っています)。私が継承したプロジェクトは CodeIgniter で開発され、JQuery、AJAX、および JSON に大きく依存しています。流れがややこしいのでまとめておきます。(私は質問に行き着いています、我慢してください)

とにかく、この部門のマネージャー、彼をツールと呼びましょう。部下がこのようなことを学ぶことを許可しません. 彼は先日私にそれがどうなるか尋ねました.1つの変数が設定されている場所が見つからないことを除いて、私は大丈夫だと言いました.元の開発者はjqueryを使用して何らかのフォーム値を呼び出してファイルへのパスを設定しています(彼は#id. val()) ですが、コードのどこにも #id が見つかりません。マネージャーは、ええと、あなたが PHP の第一人者だと思っていたと答えました。私が言ったように、私たちは彼をツールと呼びます。

いずれにせよ、彼にいくらか固執するために、私はこれらのフロー ページを彼のグループの人々と共有することに決めました。選択メニューから変更が加えられると、jquery/javascript がその変更を認識し、JS で関連するコードを起動する方法を説明しています。

その後、JS/JQ が変更が行われたことをどのように認識したのか、本当にわからないことに気づきました。私はコードを知っています ($("#id").change()...私は AppleScript のバックグラウンドを持っており、その言語にはアイドル コマンドがあります。基本的にはスクリプトをバックグラウンドで実行して、X が発生するのを監視して待機させることができます。 (ユーザーが Photoshop を起動するとします) そのイベントが発生すると、残りのコードが実行されます.JS は似たようなことをしますか?

4

2 に答える 2

1

このコード:

$("#id").change()

jQuery ("$") に、"id" 値が (この場合) "id" である要素を見つけ、その要素で "change" イベントをトリガーするように指示します。これにより、登録されたイベント ハンドラーが、その要素で実行されるイベントを検索します。これは、ブラウザーで JavaScript を使用して行うすべてのこと、つまりイベントへの応答の基本です。

どこかに、おそらく次のいずれかがあります。

$("#id").change(function() { ... })

$("#id").live('change', function() { ... })

$("#id").bind('change', function() { ... })

ただし、イベント ハンドラーを設定するために要素を識別する方法は多数あるため、見つけるのが難しい場合があります。

于 2011-03-16T12:57:53.593 に答える
0

Chrome の新しいバージョンでは、html 要素を検査できます。これにより、それにバインドされている「クラシック」イベントも表示されます。

ますます優れた開発者は、次のようなイベント デリゲートに移行しています: http://developer.yahoo.com/yui/3/event/#delegate

Chrome には表示されない可能性がありますが、コードから読み取れるはずです。

于 2011-03-17T12:22:51.697 に答える