在 .trigger 中使用时,jQuery 中的冒号是什么意思?
What does colon mean in jQuery when used inside of .trigger?
我查看了 http://api.jquery.com/trigger/,示例没有回答我的问题。我正在查看一些代码,想知道这段代码在做什么。
$(document).on('click', '#SubmitQuery', function(event) {
event.preventDefault();
$(document).trigger('filter:submit');
});
具体来说,那个触发函数里面的冒号是做什么的?对于完整的上下文,过滤器是什么(我假设触发器函数内部的 'filter' 指的是该过滤器对象):
var filter = {
init: function() {
$(document).on('keypress', '#Filter', debounce(function(event) {
if (event.keyCode == 13) {
$(document).trigger('filter:text');
}
}, 300));
$(document).on('click', '#ClearFilter', function(event) {
event.preventDefault();
$('#FilterText').val('');
$('#FilterText').focus();
$(document).trigger('filter:clear');
});
$(document).on('change', '.filterSection [type=checkbox]', function(event) {
var group = $(this).parents('[data-filter-group]').attr('data-filter-group');
var $checkboxes = $('[data-filter-group=' + group + '] [type=checkbox]');
if ($checkboxes.length > 0) {
if ($checkboxes.filter(':checked').length === 0) {
$(this).prop('checked', true);
}
}
});
$(document).on('click', '#SubmitQuery', function(event) {
event.preventDefault();
$(document).trigger('filter:submit');
});
$("#Filter").focus();
}
};
冒号指定自定义事件,实质上是为您以后可以调用的事件创建名称空间,而无需覆盖默认事件或不必为同一事件创建多个侦听器。
您可以在此处找到更多信息:https://learn.jquery.com/events/introduction-to-custom-events/
我查看了 http://api.jquery.com/trigger/,示例没有回答我的问题。我正在查看一些代码,想知道这段代码在做什么。
$(document).on('click', '#SubmitQuery', function(event) {
event.preventDefault();
$(document).trigger('filter:submit');
});
具体来说,那个触发函数里面的冒号是做什么的?对于完整的上下文,过滤器是什么(我假设触发器函数内部的 'filter' 指的是该过滤器对象):
var filter = {
init: function() {
$(document).on('keypress', '#Filter', debounce(function(event) {
if (event.keyCode == 13) {
$(document).trigger('filter:text');
}
}, 300));
$(document).on('click', '#ClearFilter', function(event) {
event.preventDefault();
$('#FilterText').val('');
$('#FilterText').focus();
$(document).trigger('filter:clear');
});
$(document).on('change', '.filterSection [type=checkbox]', function(event) {
var group = $(this).parents('[data-filter-group]').attr('data-filter-group');
var $checkboxes = $('[data-filter-group=' + group + '] [type=checkbox]');
if ($checkboxes.length > 0) {
if ($checkboxes.filter(':checked').length === 0) {
$(this).prop('checked', true);
}
}
});
$(document).on('click', '#SubmitQuery', function(event) {
event.preventDefault();
$(document).trigger('filter:submit');
});
$("#Filter").focus();
}
};
冒号指定自定义事件,实质上是为您以后可以调用的事件创建名称空间,而无需覆盖默认事件或不必为同一事件创建多个侦听器。
您可以在此处找到更多信息:https://learn.jquery.com/events/introduction-to-custom-events/