我尝试在页面上动态添加textarea(它可以工作)然后我尝试在blur()事件上删除textarea但它不起作用
$(function () {
$('.edit').one('click', function () {
var id = $(this).attr('id');
var comment$ = $(this).parents('li').prev('li.comment-post');
var text = comment$.text();
comment$.html('<textarea name="comment-edit" class="comment-edit">' + text + '</textarea><br />');
$('.comment-edit').focus();
});
$('.comment-edit').blur(function(){
alert('text');
var text = $(this).val();
alert(text);
/*var comment$ = $(this).parents('li.comment-post');
$(this).remove();
comment$.text('text');*/
});
});
怎么了?
答案 0 :(得分:2)
$(function () {
$('.edit').on('click', function () {
var id = $(this).attr('id');
var comment$ = $(this).parents('li').prev('li.comment-post');
var text = comment$.text();
if($('.comment-edit').length){
$('.comment-edit').show();
}
else{
comment$.html('<textarea name="comment-edit" class="comment-edit">' + text + '</textarea><br />');
}
$('.comment-edit').blur(function(){
var text = $(this).val();
comment$.text(text);
/*var comment$ = $(this).parents('li.comment-post');*/
$('.comment-edit').hide();/*
comment$.text('text');*/
});
$('.comment-edit').focus();
});
});
答案 1 :(得分:1)
您应该使用:
$('.comment-edit').live('blur',function(){
alert('text');
var text = $(this).val();
alert(text);
/*var comment$ = $(this).parents('li.comment-post');
$(this).remove();
comment$.text('text');*/
});
我已经使用了直播,因为你已经在小提琴中添加了1.8.3 jquery库。
如果您使用的是库1.9,则需要使用on:
$(document).on('blur', '.comment-edit',function(){
//code
}
<强> Working Demo 强>
答案 2 :(得分:0)
因为,你绑定了textarea直播:
$(document).on('blur', '.comment-edit',function(){
alert('text');
var text = $(this).val();
alert(text);
});
答案 3 :(得分:0)
您正在尝试在创建文本区域之前将blur事件绑定到文本区域。试试这个叉子: