全て
私の問題は次のとおりです。
addthis-button を含むページがあります。通常、クリックすると小さなメニューが開きます。
ある時点で、このページの一部 (addthis-button を含む) が (jQuery を介して) 複製され、同じページで再利用されます。
複製されたボタンをクリックすると、メニューが開かず、addthis ページが読み込まれます。
そのため、どうやらイベント ハンドラが失われ、ボタン (実際には <a>) がリンクに戻り、リンクされたページが表示されます。
では、複製されたボタンのイベントを再登録するにはどうすればよいでしょうか?
ETA: 明確にするために: 私はそれにaddthis_button
加えられたすべてのものを完全に複製したいと考えaddthis_widget.js
ています。
mylittlebutton
とそのクリックハンドラーclickedhim()
は問題とは無関係であり、の複製をトリガーするだけですaddthis_button
。
誰かが私を正しい方向に向けることができればありがたいです。また、これを説明する 20 行のスニペットがあります。
ありがとうございました
ETA: コード スニペット:
<script src='../../js/lib/jquery-1.6.2.js' type="text/javascript"></script>
<!-- up to here, the original button is initialized -->
<a class="addthis_button addthis_button" href="http://www.addthis.com/bookmark.php?v=250">
<img src="../../resources/img/button_share.gif" width="59" height="17" alt="Bookmark and Share" style="border:0"/>
</a>
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js"></script>
<br />
<!-- button to trigger the cloning -->
<input type="button" id="mylittlebutton" onclick="clickedhim(this);" value="CLICK ME" />
<script type="text/javascript" >
function clickedhim(eventtarget) {
var nearest_addthis = $(eventtarget).siblings("a.addthis_button");
// clone button, and insert it after the original
nearest_addthis.after(nearest_addthis.clone());
}
</script>