jQuery使用动态添加的元素,无需刷新

时间:2015-04-27 22:30:04

标签: javascript jquery

我已经构建了一个在界面上工作的Web应用程序,现在我面临着使用从jQuery动态添加到画布的元素的挑战。

例如

$(document).ready(function(){
    //On Focus for textarea of Sheet
    $("textarea").focus(function(){
        $(this).css("height", "250px");
    });

    $("textarea").focusout(function (){
        $(this).css("height", "");
    });

});

现在这部分工作正常,它根据需要扩展和缩小我的textarea。 (一切都很好!)

然而,这是我的问题,我向画布onclick appendstextarea元素。

现在我无法在.focus.focusout上使用.appendTo。当我使用$("textarea").focus页面时,不刷新。 (添加新元素时不刷新)

如何解决此问题(正确方法),我需要WordList list = (WordList)arrayString[3]; list.display(); 能够使用新添加的元素。

谢谢!

1 个答案:

答案 0 :(得分:2)

使用jQuery's on的代表绑定他们。

$("body").on("focus","textarea",function(){
    $(this).css("height", "250px");
});

$("body").on("focusout","textarea",function (){
    $(this).css("height", "");
});

当这些事件发生在选择器(" body")中时,这会将焦点和焦点事件委托给匹配的选择器(" textarea")。如果有一个比body更接近的元素来选择理想的事件委托的父元素,尽管根据页面的动态特性并不总是可行的。