<script>
    $("#cars").append("<input type='button' id='"+car[i]+"'>");
</script>


<script>
    $("#bmw").click(function(){
        alert("i like bmw");
    });
</script>


我有两个脚本。第一个只是从PHP获取回显的数组,并动态插入HTML按钮并使它们的id等于数组中的值。例如,如果数组具有[bmw,toyota],则会使用id =“ bmw”和id =“ toyota”动态创建两个按钮。我可以成功创建具有正确ID的按钮(已通过firefox开发人员模式选中了此按钮)。

我的第二个脚本只是检查是否单击了id =“ bmw”,如果单击,则提示消息。我的问题是单击带有id =“ bmw”的按钮不会发出任何警报。似乎第二个脚本在第一个脚本可以完成之前完成,因此,第二个脚本无法找到id =“ bmw”。

但是,我一直读到脚本始终按顺序执行,并且浏览器直到脚本完成后才继续运行,因此,如果是这种情况,我不太确定为什么第二个脚本无法找到id =“ bmw ”(如果1号已经结束)。

在执行第二个脚本之前,如何确保第一个脚本始终完成?

最佳答案

你能试一下吗:

<script>
    $('body').on('click', '#bmw', function() {
        alert("i like bmw");
    });
</script>

09-18 02:33