我尝试点击提交按钮,但它似乎无法正常工作,好像我的选择器错了,但我真的不能告诉我的错误。
基本上它只是以下内容:
$(".edit input").click(function() {
$(".note").html($(this).val());
$(".edit").html(editHTML);
});
这是我对jsfiddle的测试: http://jsfiddle.net/D7Teb/
答案 0 :(得分:0)
您需要delegate
事件,因为您在运行初始侦听器代码后添加了一些内容。以下适用于jQuery 1.7+,因为它使用on
方法。如果必须使用早期版本,请查看delegate()
方法。
http://learn.jquery.com/events/event-delegation/ http://api.jquery.com/on/ http://api.jquery.com/delegate/
演示:http://jsfiddle.net/robschmuecker/D7Teb/1/
var noteHTML = $(".note").html();
var editHTML = $(".edit").html();
var noteAltHTML = '<input class="myInput" type="text" />';
var editAltHTML = '<button>Save</button>';
$(document).on('click', ".edit a", function () {
$(".note").html(noteAltHTML);
$(".edit").html(editAltHTML);
});
// Since you are adding the HTML after the initial running and adding of the listeners, you have to 'delegate' the event like this with
$(document).on('click', ".edit button", function () {
$(".note").html($(".myInput").val());
$(".edit").html(editHTML);
});