2

クラスのあるボタンがtryあり、クリックすると呼び出される関数がありますstart。次に、同じことを行うというボタンを作成します。そのボタンクリックハンドラーにコード全体をコピーして貼り付けたくありません。jqueryで次のことを行うかどうtryかを言う方法はありますか?start

4

4 に答える 4

9

あなたが言ったのでa button called startそれstartがIDだと思います。そのため、参照するためにの#代わりにを使用.しています。

$('.try, #start').click(function(e){
    YourFunction();
});

startがクラスの場合は、これを使用します。#IDを.示し、クラスを示します。

$('.try, .start').click(function(e){
    YourFunction();
});
于 2012-05-02T18:16:49.003 に答える
2
$('.start, .try').click(function(){
//do your thing here
});

クラスが異なる2つのボタンを想定しています。

<button class='try'>try</button>
<button class='start'>start</button>

1つのクラスを使用すると、はるかに簡単になります。

<button class='trystart'>try</button>
<button class='trystart'>start</button>

$('.trystart').click(function(){
//do your thing here
});
于 2012-05-02T18:21:09.403 に答える
2

ハンドラーコードを名前付き関数に移動し、名前付き関数をバインドします。

function someFunction() {
}

$('.try').on('click', someFunction);
$('.start').on('click', someFunction);

または一行で、

$('.try, .start').on('click', someFunction);
于 2012-05-02T18:17:24.713 に答える
1

ただ行う:

$('#start, .try').on('click', function(){ // both of them
   myFunction();
});

また:

$('#start').on('click', function(){
   $('.try').click();         // trigger .try action
});


または、クリック内で関数を呼び出すだけです。

function myClickFunction(){
   // your code ...
}

$('#start').on('click',function(){
   myClickFunction();
});
于 2012-05-02T18:17:02.443 に答える