0

これは独特の状況です。アンカータグがあり、アンカータグをクリックすると、jqueryプラグインの関数が実行されます。しかし、特定のページでは、アンカータグをクリックするだけで別のJavaScript関数を実行したいと思います。つまり、jQueryプラグインにはアンカータグ用に定義されたデフォルトのクリックイベントがあり、同じアンカータグに対して別の関数を呼び出す別のクリックイベントをページに実装します。現在のところ、1つのクリックイベントのみが他のクリックイベントを置き換えて発生しています。プラグインにはclick()を使用し、特定のページで関数を呼び出すにはmouseUp()を使用することで解決策を考え出しました。

しかし、基本的に私は理解したいのですが、異なる場所でもロジックをjqueryに結合し、それらすべてを実行することを期待する方法はありますか?

4

2 に答える 2

1

これを実現するにはいくつかの方法がありますが、一般的には、アンカーを何らかの ID またはクラスを持つ親要素でラップすることをお勧めします。次に、それを使用して何を呼び出すかを決定します。例えば:

JS:

function doThis(event) {

}

function doThat(event) {
  doThis(event);
  // more code for doThat...
}

$('.home #nav a').click(doThis);

$('.content #nav a').click(doThat);

ホームページの HTML:

<body class="home"><div id="nav"><a href="#">nav 1</a><a href="#">nav 2</a></div></body>

その他のページの HTML:

<body class="content"><div id="nav"><a href="#">nav 1</a><a href="#">nav 2</a></div></body>
于 2012-06-04T12:54:42.083 に答える
0

jQuery名前空間イベントを使用できます

于 2012-06-04T14:07:57.903 に答える