引导模式委托偶数类型语法
bootstrap modal delegate eventype syntax
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?
}
我很新鲜。我以前从未见过这种语法。我的猜测是点击事件,在任何包含"关闭"且值为"模态"的属性上???
我认为
,你所看到的是Namespaced Events
.当您对同一事件有多个事件处理程序时,会广泛使用此方法。请参阅下面的示例,
演示
$('#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');
});
在上面的示例中,它只是演示了unbind
但它也可用于触发特定的处理程序,如 $('#test').trigger('click.a')
。
当您仅将"单击"绑定到两个处理程序时,上述所有操作都是不可能的。
关于命名空间事件的 jQuery 文档
补充
维加的答案:
使用事件click.dismiss.modal
调用on()
(从 jQuery 1.7 开始可用(或delegate()
意味着注册一个单击处理程序,该处理程序在触发事件中传递 dismiss
或 modal
命名空间时触发,或者在没有命名空间的情况下调用click
。
modal
没有"嵌套"在dismiss
下(语法可能具有误导性(,但它们被视为直接"附加"到click
。这意味着click.dismiss.modal
等同于click.modal.dismiss
.
例:
$('#elem').on('click.dismiss.modal', function () {});
$('#elem').trigger('click.dismiss'); // handler is called
$('#elem').trigger('click.modal'); // handler is called
$('#elem').trigger('click'); // handler is called
$('#elem').trigger('click.abc'); // handler is NOT called
请注意,trigger()
、unbind()
和 off()
只接受一个命名空间。
$('#elem').off('click.dismiss'); // now the handler is just 'click.modal'
您还可以使用 .dismiss
取消绑定,这将删除具有该命名空间的所有事件(而不仅仅是 click
(。触发本身不适用于命名空间;点前必须有一个事件名称。
相关文章:
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 如何在DOM元素上按类型构建此函数
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- YUI3 IO实用程序是否可以根据给定的内容类型标头值自动序列化数据
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 如何从querySelectorAll中获取按钮类型
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 铬:“;未捕获的语法错误:意外的标记:"
- jQuery语法添加了var
- 如何将具有文本类型值的var放入jQuery函数中
- Javascript未捕获语法错误意外的标识符错误
- 引导模式委托偶数类型语法
- 使用regex传递语法有效的c++声明/初始化(考虑到它们的数据类型)
- Javascript类型的变量名称/语法/引用
- 带三元运算符语法的Float32Array类型
- 乔纳森& # 39;当/如果# 39;语法-如何检查类型
- Visual Studio -为HTML模板和语法高亮显示使用自定义脚本标签类型
- “.import"语句(用于在JS中导入Qml类型)失败,出现语法错误
- 是否有检查变量类型的快捷语法
- 未捕获的语法错误:类型日期的数字意外