如何在代码尚未生成时激活代码

时间:2016-07-01 08:48:53

标签: jquery

我在这里遇到了一些问题。这是我的代码:

getName()

坏消息是,当文档准备就绪时,首先没有$("#按钮")。只有在我触发一个将按钮附加到html的代码但是为时已晚之后,按钮才会运行。谁能解决这个问题?非常感谢你的帮助

4 个答案:

答案 0 :(得分:2)

在动态创建的元素上触发click的最佳方法是listen到DOM中的点击event,然后根据您的愿望element触发它,然后它会检查click被解雇的目标。

使用

$(document).on("click","#button",function(){ // code goes here })
  

详细了解.on访问官方jquery文档 Click Here

答案 1 :(得分:1)

$(document).ready(function() {
$(document).on("click","#button" function(){
    alert("hello");
    var a = $("textarea").val(),
        b = $("#search").val(),
        c = $("textarea").length,
        d = $("#search").length,
        array = [],
        st = "";

    for(var e=0;e<c;e++){
        for (var f=0;f<d;f++){
            if(a[e+f] === b[f]){
                alert(a[e+f]);
                array.push(a[e+f]);
                if (array.length === d){
                    for(var g in array){
                    st += array[g];
                    }
                    a.substr(e,e+f).replaceWith("vinh");
                    break;                                      
                }                                   
            }else{
                break;
            }
        }
    }                                       
});
});

答案 2 :(得分:0)

您必须使用父按钮才能执行此操作。这是一个使用&#34; body&#34;作为父母:

$("body").on("click", "#button", function(){
    // Add your code here
}

请查看此主题以获取更多信息:Event binding on dynamically created elements?

答案 3 :(得分:0)

您可以在单独的.js文件中编写要在按钮元素上运行的jQuery代码,并在使用$ .getScript()加载此按钮的代码之后异步加载它。