0

(我不知道如何命名这篇文章)。

考虑以下代码。我有一个按钮来删除一些文本并插入一个新按钮。新按钮插入正常,但单击时没有任何反应(应该出现一个简单的弹出窗口)。萤火虫没有帮助。我怀疑我不知道如何使用 $(document).ready。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>tre.html</title>
<script type="text/javascript"  src="..../jquery-1.8.3.js"></script>
<script type="text/javascript">
function resetButton() {
    $('ul.eventlist button.reset')
        .unbind('click')
        .bind('click', function(event) {
        event.preventDefault();
alert($(this).parent().html());
alert('mario');
});
}
function removeButton() {
    $('ul.eventlist button.remove')
        .unbind('click')
        .bind('click', function(e) {
        e.preventDefault();
var reset = $('<li><button class="reset" ><span>Reset</span></button> New text</li>'); 
$(this).parent().parent().append(reset);
$(this).parent().remove();
});
}
</script>
<script type="text/javascript">
$(document).ready(function() {
   removeButton();
   resetButton();
      });
</script>
</head>
<body>
<ul class="eventlist">
<li><button class="remove"><span>Delete</span></button> Some Text
</li>
</ul>
</body>
</html>
4

2 回答 2

3

当您调用该函数时,在文档就绪函数内部resetButton()不存在重置按钮。removeButton()创建重置按钮后,您需要在 内部调用该函数。

例如:

function removeButton() {
    $('ul.eventlist button.remove')
        .unbind('click')
        .bind('click', function(e) {
        e.preventDefault();
        var reset = $('<li><button class="reset" ><span>Reset</span></button> New text</li>'); 
        $(this).parent().parent().append(reset);
        $(this).parent().remove();
        resetButton();
    });
}

这是一个代码:http: //jsfiddle.net/7AAws/2/

于 2013-11-10T14:40:25.953 回答
0

嘿,页面加载时的绑定功能....但是当时不存在重置按钮。

所以在 removeButton() 中调用 resetButton()

于 2013-11-10T14:57:23.160 回答