相关疑难解决方法(0)

jQuery`Click`,`bind`,`live`,`delegate`,`trigger`和`on`函数之间的区别(有一个例子)?

我已经阅读了每个函数的文档 jQuery official website,但是下面的函数之间没有这样的比较列表:

$().click(fn)
$().bind('click',fn)
$().live('click',fn)
$().delegate(selector, 'click', fn)
$().trigger('click') // UPDATED
$().on('click', selector ,fn); // more UPDATED
Run Code Online (Sandbox Code Playgroud)

请避免任何参考链接.

以上所有功能如何正常工作以及哪种情况应该首选?

注意:如果有任何其他功能具有相同的功能或机制,那么请详细说明.

更新

我也看过一个$.trigger功能.它是否与上述功能类似?

更多更新

现在.onv1.7中添加,我认为这个在某种程度上涵盖了所有上述功能要求.

javascript jquery

139
推荐指数
3
解决办法
5万
查看次数

如何动态重新绑定JQuery对象

我正在为Joomla制作一个模块!使用Ajax向数据库呈现不同查询的客户端的页面.这些查询的结果是我重新生成了不同DIV的整个HTML代码.在我的jQuery对象中,我有一个名为的函数,cache()它存储了我需要将不同事件附加到它们的所有对象.我的问题是每次从任何这些div重新生成HTML代码时,我都必须重建所有对象,所以我创建了一个新函数recache()来使这项工作更容易.

我想这不是最好的程序.有没有办法让这些处理程序保持活力,而不必cache()每次都调用此函数,或者有没有办法动态重新绑定这些对象?

谢谢!

这是我的代码:

    var Object = {
        init: function() {
            this.cache();
            this.bindEvents();
            return this;
        },

        cache: function() {
                   OBJECTS....
                       this.nameObject = $('#anchor');
                       etc..
        },

        recache: function() {
            Objects to be recached as needed.
        },

        bindEvents: function() {
            EVENTS attached to the objects. 
                        this.nameObject.on( 'click', 'context', this.nameFunction );

        },

                    nameFunction: function() {
                        #CODE....
                    }

                }; //END Playlist (Object)

window.Object = Object.init();
Run Code Online (Sandbox Code Playgroud)

我通常使用on()函数而不是delegate(),live()或者bind(),但我不确定这是我的问题.

提前致谢!

jquery events caching object dynamic-rebinding

4
推荐指数
1
解决办法
6607
查看次数

标签 统计

jquery ×2

caching ×1

dynamic-rebinding ×1

events ×1

javascript ×1

object ×1