jQuery - 我的第一个插件,如何防止重复应用程序到元素

时间:2011-01-18 02:08:36

标签: jquery jquery-plugins

我有以下内容:

$('.comment_content').live('focus click', function() {
    $(this).bTextAreaResizer();
});

我需要点击直播,因为有时会在页面加载后动态显示comment_content框。我只是注意到每次都会继续将bTextAreaResizer()重新应用到textarea,这会使浏览器停止运行。在我的插件中:

(function($){
    $.fn.bTextAreaResizer = function(options) {

    return this.each(function() {

        //bind events
        $(this).bind('scroll keyup', function() {
            resizeTextArea($(this));
        });

我怎么说,如果我们还没有绑定到这个元素?这可能吗?

由于

1 个答案:

答案 0 :(得分:0)

我想有更好的方法,但为了避免重复的事件绑定,您可以取消绑定之前的事件。您可以使用event namespaces。顺便说一句,在这种情况下,你不需要遍历所有元素:

return this.unbind('.btar')
           .bind('scroll.btar keyup.btar', function() {
                resizeTextArea($(this));
           });
相关问题