2011-07-25 19 views
0

私は奇妙な問題があります。2度目の関数呼び出しの奇妙な問題

自分のライトボックスギャラリーを全画面で表示しています。私は問題を抱えています。矢印(#leftArrowFS、#rightArrowFS)をクリックしてprev/nextイメージに移動すると、私は一度だけそれを行うことができるからです。二度目にクリックした場合、それは何もしません

HTMLコード:

<a href=".path/to/BigImage.jps" class="lightbox"> 
    <img src="path/small/Image.jpg" /> 
    </a>  
.... 

とするときクリックされる:

$('a.lightbox').click(function() { 
     var imgSource= $(this).attr('href'); 
     lightboxFS(imgSource); 
     return false; 
    }); 

を、私のlightboxFSはそれが.jsファイルにだと機能ファイル

function lightboxFS(imgSource){ 
... 
do a a lot of stuff 
... 
    $('#rightArrowFS').click(function(){ 
     rightClick(); 
    }); 
} 

function rightClick(){ 
     alert("right arrow");  
     .... 
      .... 
estadoSetas(array, imgSource); 
} 

何百回もクリックしても、アラートが一度表示されます。 #leftArrowFSをクリックすると#rightArrowFSがクリックされた後、警告は表示されず、その逆もあります。

任意のアイデア??おかげ

+3

http://jsfiddle.net/デモを作成してください。ここに投稿したコードは大したことはありません。 –

答えて

1

私が最初に考えたのはクリックイベントを持つ要素は、AJAX要求、または類似のものの後に上書きされていることだろう。 .click()を.live( 'click'、fn)に置き換えると、問題が解決しますか?

フェリックスは言ったように、フィドルが役に立ちそうです。

+0

それは働いた。ありがとう、私はその方法を知らなかった。私はあなたの答えとjqueryのウェブサイトからの文書を読んだ後、それはすべて意味をなさない。私はもっ​​と勉強しなければなりません:(私はフィドルでそれをするのはかなり複雑なので、私はフィドルのデモを作成しませんでした。 – peterK