(我不确定如何标题这篇文章)。
请考虑以下代码。 我有一个按钮来删除一些文本并插入一个新按钮。 新按钮插入正常,但单击时没有任何反应(应该出现一个简单的popoup)。 Firebug无济于事。我怀疑我不知道如何使用$(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>
答案 0 :(得分: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/
答案 1 :(得分:0)
嘿你在页面加载时的绑定功能.... 但那时复位按钮不存在。
所以在removeButton()
中调用resetButton()