2017-12-13 10 views
0

私はテーブルからaddRowとdeleteRowを作成できるようにするgrider.js APIを使用しています。このためには、addRowdeleteRowの2つの方法が使用されます。どちらの方法も.live()を使用してclickアクションを実行します。だから、今1.7のjQueryは.live()をサポートしていないので、次のスクリーンショットに示すように、それらを.on()に置き換えましたか?コンソールでエラーが表示されませんが、クリックアクションは機能していません。私は間違って何をしていますか?使用jqueryのlive()をon()に置き換えます。

enter image description here

グライダーのAPIで、次のGithubのURLから

Grider

+0

イベントを委任するための '$ .fn.on()'ドキュメントを読んで、イベントを任意の静的コンテナにバインドし、セレクタ文字列をパラメータとして渡すか、https://learn.jquery.com/events/イベントの委任/ BTW、プラグインを使用して9歳の偉大なアイデアのように聞こえません –

+0

はいthatswhy、私のサーバー上のgrider.jsファイルを変更し、.live()を変更しました。 –

+0

私はちょうどあなたが明らかにしなかったDOCを読むように言っています... –

答えて

1

次の構文を使用してon()live()を交換してください。

$(table).on('click', 'a.delete', function() {}); 

私はあなたがこのイベントを追加しながら、tableが既にDOMに存在していると仮定しています。

+0

ありがとうございます、2番目のもののために提案してもいいですか?tr:not(.noedit):last a。 delete "または単に' a.delete'ですか? –

+0

あなたが 'live()'で行っていたように、あなたはフルセレクタを適用していると思います –

関連する問題