ここにはいくつかの問題があります。まず、Page
とpage
は 2 つの異なる変数ですが、同じ名前を付けたと仮定しましょう。コードはまだ機能しません。
問題は、イベント ハンドラーがすぐに実行されず、ダブルクリックが発生したときにのみ実行されることです。page
イベントの外側で定義しても、このコンテキストでは意味がありません。最初にヒットしvar page;
、次にイベントを登録し (ただし、イベント関数は実行しません)、空の変数をアラートします (イベントがまだトリガーされていないため)。
dblclick イベントをトリガーしても、そのアラートは実行されません。
これを試して:
var page;
$('#Montant').dblclick(function(){
$("#Encadrement_Encaissement_Menu_Creation").show();
page = 'Crea_Bouton';
});
$('#anotherdiv').click(function(){
if(page === 'Crea_Bouton'){
alert("yep!");
}else{
alert("Something else")
}
})
これで、クリックされたときに、#anotherdiv
'yep!' という警告のみが表示されます。元のMontant
div が最初にダブルクリックされた場合。それ以外の場合は、何か他のことを行います (省略した場合は何もしませんelse
)。
jsfiddle の例を次に示します。
http://jsfiddle.net/Wb9Ba/
すぐに 2 番目のボタンをクリックすると、「その他」と表示されますが、最初のボタンをダブルクリックしてから 2 番目のボタンをクリックすると、「はい」と表示されます。