jQuery追加和刷新DOM

时间:2017-06-29 13:52:40

标签: jquery append refresh

我添加了一个显示警报的按钮,但是当我点击按钮时我看不到警报。我该如何解决这个问题?

ID1 ID2 ID1NAME ID2NAME
1   2       X    Y
3   4       F    G

3 个答案:

答案 0 :(得分:3)

您正在添加侦听器,然后将输入添加到DOM。点击事件必须在追加后绑定,才能将其链接到输入。

$(document).ready(function() {
    $("#myButton").on('click', function() {
          $("<h1>Hello</h1><input id=\"but\" type=\"button\">Click").appendTo("#main_body"); 
          $( "#but" ).on( "click", function() {
            alert( "bla bla" );
          });  
    });

});   

答案 1 :(得分:2)

你做不到!您必须委托

$(document).ready(function() {
    $("#myButton").on('click', function() {
          $("<h1>Hello</h1><input id=\"but\" type=\"button\">Click").appendTo("#main_body"); 
    });  
}); 
$(document).on( "click", "#but", function() {
        alert( "bla bla" );
});  

答案 2 :(得分:2)

在您创建第二个按钮的同一个函数中调用第二个onclick函数。那将是我的好先生。

$(document).ready(function() {
    $("#myButton").on('click', function() {
          $("<h1>Hello</h1><input id=\"but\" type=\"button\" value=\"But\">Click").appendTo("#main_body"); 
            $( "#but" ).on( 'click', function() {
                alert( "bla bla" );
            });    
    });
});       
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<!doctype html>
<html>
<head>
<title>test</title>
<meta charset="UTF-8">
</head>

<body id="main_body"> 
    <input type="button" value="Tıkla" id="myButton" />
</body>
</html>