bootstrap modal delegate eventype语法

Riv*_*ver 2 javascript jquery events modal-dialog twitter-bootstrap

var Modal = function (content, options) {
   this.options = options
   this.$element = $(content)
   .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
                                          ^^^^^^^^^^^^^^^^^^^^
                                        What does this mean?
}
Run Code Online (Sandbox Code Playgroud)

我很新鲜.我之前没有见过这种语法.我的猜测是click事件,对任何包含'dismiss'并且具有'modal'值的属性???

Sel*_*gam 5

我想,你所看到的是Namespaced Events.当您为同一事件提供多个事件处理程序时,会广泛使用此方法.见下面的例子,

DEMO

$('#test').on('click.a', function () {
    alert('A is clicked');
});

$('#test').on('click.b', function () {
    alert('B is clicked');
});

$('#unbindA').on('click', function () {
    $('#test').off('click.a');
});
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,它只是演示,unbind但它也可以用于触发特定的处理程序,如$('#test').trigger('click.a').

当您只是将"click"绑定到两个处理程序时,所有上述操作都是不可能的.

关于Namespaced事件的jQuery文档