を使用して、ボタン要素にイベントハンドラを追加することができません、私は、動的に生成されたボタンにトリガするDynamic Event Handler動的このフィドルではjQueryの
のonclickイベントを取得することはできませんよ。
を使用して、ボタン要素にイベントハンドラを追加することができません、私は、動的に生成されたボタンにトリガするDynamic Event Handler動的このフィドルではjQueryの
のonclickイベントを取得することはできませんよ。
ボタンに「onclick」を追加しても、それは解析されずにブラウザで処理され、イベントハンドラは決して作成されません。
あなたの最良のオプションは、「onclickの」行を、ボタン自体の外にイベントハンドラを作成、削除され、そしてこの文書の準備ができてブロック:イベントハンドラがに自分自身を添付して
$("#d1").on('click', 'input:button', function() {
alert($("#dataSources").val());
});
が、これは動作します#d1を作成し、クリックしたボタンにイベント自体を委任します。ボタンを作成または破棄しても、ハンドラには影響しません。
代わりappend
メソッド内でクリックイベントを定義するには、jsFiddleリンクで提供されるあなたはjQueryの1.7.1を使用していると仮定しdocument.ready
内on
方法を使用してイベントを結合することができます。
例えば:
$("#deleteDataSource").on("click", function(){
//do your work here
});
注:私はあなたにもあなたの質問にあなたのコードを投稿するべきだと思います。
DOMの準備ができたらdeleteDataSourceを持っていないので、このコードを使用することはできません。 – Saravanan
同意すると、@ roselanの答えは正しいものです。 –
バージョン1.3.2のjQueryでこれを達成するにはどうすればいいですか?私たちの開発版は、jQuery 1.7.1 ASAP !!にアップグレードするだけで1.3.2 – Saravanan
になりました。 jquery 1.4.2は$ .delegateを導入しています。これは$ .onに相当し、多くのバグを解決しますが、1.3.2よりもはるかに高速です。 jquery 1.6.2も非常に安定しており、私はそれをprodで使用します。 (私はまだ生産のために1.7を検証する必要があり、何らかの理由で、私はx.x.2バージョン... X'Dが好きです)。しかし、本当にアップグレードできない場合、$ .liveはまともなオプションです。$ .bindを使用してコールバック関数に "event"を渡し、 'if(event.target == 'buttonId '){... 'ブロック。 – roselan
1.3.2のために[このフィドル](http://jsfiddle.net/YNM68/10/)を確認してください – roselan