1

プレイリストクリップを管理するスクリプトが1つあります。これには、ユーザーがクリップをクリックしたときにプレイリストをどう処理するかを指定するコールバックが含まれています。

$('div.clip').bind("click.playlist", function() {
  ...
});

現在、jquery-tabsを追加することを計画しており、ユーザーがクリップをクリックしたときにタブのコンテンツをどのように処理するかを指定する2番目のコールバックを含む2番目のスクリプトを作成したいと思います。

$('div.clip').bind("click.tabs", function() {
  ...
});

これが私の質問です。ユーザーがクリップをクリックしたときに、「click.playlist」コールバックのに「click.tabs」コールバックを実行したいと思います。誰かがこれを行う方法を知っていますか?

4

3 に答える 3

3

私は別の方法でそれを行います:

$('div.clip').bind("clip.playlist", function() {
  ...
});

$('div.clip').bind("clip.tabs", function() {
  ...
});

そしてそれを次のように起動します:

$('div.clip').click(function(){
    $(this).trigger('clip.playlist').trigger('clip.tabs');
});

イベントチェーンを完全に制御します。

于 2012-08-31T23:26:53.647 に答える
1

同じ要素のイベントハンドラーが実行される順序は保証されていません。これに依存しないでください。これはほとんどのイベントシステムに当てはまり、分離されるように設計されています。本当に必要な場合は、必要な両方の関数を順番に呼び出す単一のハンドラーを設定する必要があります。

それ以外の

$('div.clip').bind("click.playlist", function() {
  doSomething();
});


$('div.clip').bind("click.tabs", function() {
  doSomethingElse();
});

行う

$('div.clip').bind("click", function() {
  doSomething();
  doSomethingElse();
});
于 2012-08-31T23:29:24.423 に答える
0

使用した場合はどうなりますか

$('div.clip').click(function()
{
    func1().func2()
});
于 2012-08-31T23:26:06.917 に答える