2

「追加」ボタンがあり、それをクリックすると、保存ボタンがdivに追加されます。これは機能していますが、「保存」ボタンの機能をトリガーできません。「保存」ボタンをコードに直接貼り付けると、機能しています。私は自分のエラーを見つけることができません...

<a class="save" href="#"><img src="images/save.png" alt="save_working" /></a>
<a class="add_row" href="#"><img src="images/icon_add_light.png" alt="add" /></a><br>
<div id="hinzu"></div>


$(".save").click(function() {
    alert("saveworking");
});


$(".add_row").click(function() {
    $("#hinzu").append('  <a class="save" href="#"><img src="images/save.png" alt="savenotworking" /></a>');
});

ここにフィドルがあります:http://jsfiddle.net/MgcDU/321/

これが js append メソッドで機能しないのはなぜですか?

4

5 に答える 5

4

これは動的であるため、イベントをバインドしているときは存在しません。そのためには、イベント ハンドラーのアタッチ時に実際に存在する要素にイベントを委任する必要があります。

$("#hinzu").on('click', '.save', function() {
    alert("saveworking");
});
于 2012-12-11T13:42:21.517 に答える
0

コードを保存したい場合は、これを使用します。

<script type="text/javascript">
    $(function() {
        $('.save').click(function() {
            alert('saveworking');
        });
    });

    $(function() {
        $('.add_row').click(function() {
            alert('add_row');
        });
    });
</script>

これを行うもう1つの方法:

<script type="text/javascript">
    $(document).ready(function () {
        $('.save').click(function () {
            alert('saveworking');
        });

        $('.add_row').click(function () {
            alert('add_row');
        });
    });
</script>
于 2012-12-11T14:02:35.227 に答える
0

呼び出しの時点ですでに存在していた$(".save").click()クラスを持つすべての要素に onclick ハンドラーがバインドされるため、機能していません。save

バインド時に存在しなかった要素にもイベント ハンドラーをバインドするには、次を使用する必要があります。$(document).on('click', '.save', function() { [...] })

于 2012-12-11T13:44:26.533 に答える
0

次のように使用します。

$("#hinzu").on('click', ".save", function() {
    alert("saveworking");
});
于 2012-12-11T13:43:32.177 に答える
0

これは、$(".save") を実行しようとすると存在しないためです。

新しい .save が運命にあるかどうかを監視するために on() を使用し、イベントハンドラーを割り当てる必要があります。

$("#hinzu").on('click', '.save', function()
{
    alert("This Does work");
});
于 2012-12-11T13:43:55.290 に答える