javascript - 使用 $.post 回调生成 html 后未注册事件

标签 javascript jquery json

我有一些在 $.post 回调函数中动态生成的输入复选框。然后我有一个 $().change() 调用,它在值更改时执行操作(提醒一些信息)。但是,对于动态生成的输入,.change() 不起作用。还有其他有效的输入被硬编码到有效的 html 中,但其他的则无效。

这是代码。

<html>
<head>
    <script type="text/javascript" src="js/jquery.js"></script>
    <script>
    $(document).ready(function(){
        $("#hideme").hide();
        $.post("php/test.php",{},function(data){
            writeMe = "<input type='checkbox' name='foo' value='" + data + "'>" + data;
            $("#insert").html(writeMe);
        }, "json");
        $("input[name=foo]").change(function(){
            alert($(this).attr("value"));
        })
    });
    </script>

</head>
<body>
    <div id="insert"></div>
    <input type="checkbox" name='foo' value='world'>world
</body>
</html>

php/test.php 很简单:

echo json_encode("hello");

最佳答案

问题是你的陈述:

$("input[name=foo]").change(function(){
        alert($(this).attr("value"));
})

没有任何效果,因为在执行时,没有任何元素与 $("input[name=foo]") 匹配,因为 $.post() 回调尚未发生。

关于javascript - 使用 $.post 回调生成 html 后未注册事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/628363/

相关文章:

java - 代表喜欢和不喜欢的 ImageView 不会改变颜色,Firebase 中也不会创建新节点

c# - 如何从 JSON 中获取值?

Javascript 客户端数据压缩

javascript - 创建包装组件并将其传递给 React Router 的推荐方法是什么?

javascript - 需要帮助来确定自定义工具提示的配置(chartjs)

jquery - 固定图像的位置

javascript - 全日历渲染 2000 个事件

jquery - 如何使用 NodeJs+Express 来服务 HTML+JQuery Web 应用程序?

c# - 当单个对象属性是字符串时,如何防止将其转换为 DateTime

javascript - Angular:从其他组件调用函数