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 on 方法而不是点击,所以像

    $('#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 回答