blur()函数对textarea不起作用

时间:2014-01-15 09:53:37

标签: jquery

我尝试在页面上动态添加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');*/
});
});

http://jsfiddle.net/Wx85E/35/

怎么了?

4 个答案:

答案 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();
    });
});

Fiddle reference

答案 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事件绑定到文本区域。试试这个叉子:

http://goo.gl/fU0DVn