0

ページの他の場所で入力された値に基づいて入力ボタン フィールドを生成しました

 $('#saved_answers').prepend('<input type="button" name="remove_answer" value="' + answerstring + '"><br />');

その後、私は電話をかけてみました:

$("input:button[name=remove_answer]").click(function() {
  alert("Test!");
});

しかし、何も起こりません。ソースを表示すると、新しいコードがまったく表示されないことにも気付きます。ただし、ウィンドウに視覚的に表示されます。

4

2 に答える 2

1

クリックではなくメソッドでjQueryを使用する必要があるため、次のようなものです

    $('#saved_answers').on('click', 'some selector for your newly added button', function(){
        alert("Test!");
    }

これにより、イベントを正しく添付できます。

jQuery .on メソッドを参照してください


これを使用すると、動作するはずです:

<html>
<head>
</head>
<body>
    <div id="saved_answers"></div>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script>
    $(function(){
    $('#saved_answers').prepend('<input type="button" name="remove_answer" value="test" />');
    $('#saved_answers').on('click', 'input:button[name=remove_answer]', function(){
        alert($(this).val());
    });
});
</script>
</body>
</html>
于 2013-08-07T20:24:50.040 に答える
0

私があなたの質問を誤解した場合は、私を修正してください。あなたがしたことは、イベントハンドラーをイベントにバインドすることですclick.

$("input:button[name=remove_answer]").click(function () {
    alert("Test!");
});

クリックイベントをトリガーしたい場合は、これが必要です

$("input:button[name=remove_answer]").click();
于 2013-08-07T20:25:02.470 に答える