2009-08-10 8 views
0

私はすなわち、以下のjQueryプラグインを使用しています:バイパスjQueryのプラグインのOnClick機能

http://flowplayer.org/tools/scrollable.html

を私も持っています問題は、それは、APIの呼び出しの一環として、ということですプラグインjsファイル内のonClick()関数を私たちに作っているようです。

私は実際にあなたの通常のjavascript onClick()関数としてonClick機能を使用したいが、私は次のコードで上書きしているように見えるようにはできませんよ。

   // assign onClick events to existing entries 
      } else { 

       // find a entries first -> syntaxically correct 
       var els = nav.children(); 

       els.each(function(i) { 
        var item = $(this); 
        item.attr("href", i); 
        if (i === 0) { item.addClass(conf.activeClass); } 

        item.click(function() { 
         nav.find("." + conf.activeClass).removeClass(conf.activeClass); 
         item.addClass(conf.activeClass); 
         self.setPage(item.attr("href")); 
        }); 

       }); 
      } 

     }); 


     // item.click() 
     if (conf.clickable) { 
      self.getItems().each(function(index, arg) { 
       var el = $(this); 
       if (!el.data("set")) { 
        el.bind("click.scrollable", function() { 
         self.click(index);  
        }); 
        el.data("set", true); 
       } 
      });    
     } 

はとにかくこれをバイパスするありますので、私はスタンドアロンのonClick()機能を使用できますか?

+0

私はコードで自分の答えを更新しました。あなたはそれをチェックすることができます。 – Kirtan

+0

はい。その 'removeitem'関数です。 – Kirtan

答えて

1

callback関数をコールバックしていないようです。あなたがclickCallbackと呼ばれるページ上に定義された機能を持っている場合、あなたは今、彼らのクリックイベントのコードが実行された後にクリックイベントを処理することができるでしょう、だから、

item.click(function() { 
    nav.find("." + conf.activeClass).removeClass(conf.activeClass); 
    item.addClass(conf.activeClass); 
    self.setPage(item.attr("href")); 
    if(typeof(clickCallback) != "undefined") clickCallback(); 
}); 

- あなたはこれを行うには彼らのJSコードを変更することができます - あなたはclickCallback関数を呼び出す必要はありません

function clickCallback() { 
    //This is the function on your page. This will be called when you click the item. 
} 

そのが定義されている場合、ライブラリ自体がその関数を呼び出します。

+0

そのKirtanに感謝しますが、実際にclickCallback関数を使用/呼び出しする方法はまだ分かりません。現時点で私は彼がonClick = "removeitem();というonClick関数を使用しています上記のコードは引き継ぎます。 clickCallbackでは何をしますか? – tonyf

+0

あなたの応答に感謝します - あなたの関数clickCallbackに基づいて、これは実際にはclickCallBack関数の代わりに私のremoveitem()関数です - はい? – tonyf

1

独自のクリックイベントハンドラを定義し、そこでイベントの伝播を停止できます。

$('your selector').click(function (e) { 
    e.stopPropagation(); 
}); 
関連する問題