ボタンとして機能する動的に作成されたアンカータグが複数あります。これらのボタンのいずれかがクリックされたときに、別のファイルにある単一のjavascript関数を呼び出して、残りの楽しい作業を実行したいと思います。私の問題は、「onclick」イベントを介して関数を適切に呼び出すことができないことです。そのため、それを回避する方法を見つけようとしていますが、それは私にとってそれほど単純ではありません。
私はさまざまな方法を試したので、このアプローチのいくつかの制限を理解しています。
Javascriptを使用した標準のHTMLアンカー:
<a href=#" onclick="doSomething(parameter1, parameter2, ...);">Button</a>
同期の問題があり、ほとんどの場合、クリックすると上記のhrefが選択されることがわかったため、これは役に立ちません。私は実際にこの方法で作業したいと思っています。ここで回避策を知っている場合は、私に知らせてください。
JQueryを介したバインド:
$(document).ready(function() {
$("#button_id").click(function() {
doSomething(parameter1, parameter2, ...);
});
});
バインディングに関する私の問題は、ページがロードされるときに、データベースからデータを取得してリストに表示する関数があることです。各リスト要素にはボタンがあり、「クリックすると」javascript関数を呼び出し、リスト要素から提供する必要のあるデータに応じてパラメーターを渡し、それから何かを実行します。
Bindingが正常に機能するためには、各ボタンに独自のIDが必要であり、Bindingメソッドに簡単に関連付けることができることを理解しています。ただし、.click関数にIDの数を指定する方法や、これらのパラメーターを指定する方法がわかりません(他のJS関数を呼び出してボタンIDを介してそれらをキャプチャしない限り)。
任意の提案/アイデアは大歓迎です!
編集:「doSomething(parameter);」のパラメーターにbutton_dataを追加するにはどうすればよいですか?働き?
list_element = '<span class="ui-li-count" data-mini="true">' + button_data + '<a href="#" class="my_button">Button</a>';</span>
このデータはデータベースから動的に取得され、ページが最初に読み込まれたときにサイトに投稿されることに注意してください。