本书jQuery in action第131页
中的代码我不明白
.trigger( 'adjustName');
什么是adjustName
和trigger()的简单解释
谢谢:)
$('#addFilterButton').click( function() {
var filterItem = $('<div>')
.addClass('filterItem')
.appendTo('#filterPane')
.data('suffix','.' + (filterCount++));
$('div.template.filterChooser')
.children().clone().appendTo(filterItem)
.trigger('adjustName');
});
答案 0 :(得分:3)
这是一个字符串,即您定义的自定义事件的名称。
E.g。它会触发绑定的事件处理程序:
el.bind('adjustName', function(){...});
有关详细信息,我建议您查看documentation:
当相应的事件发生时,会触发附加
.bind()
或其快捷方法之一的任何事件处理程序。但是,可以使用.trigger()
方法手动触发它们。对.trigger()
的调用会按照用户自然触发事件的顺序执行处理程序。
在不知道代码的上下文的情况下,我会说在这里调用.trigger()
没有任何效果,因为它在clone
ed元素上调用,而事件处理程序仅在{{1传递给true
。
答案 1 :(得分:1)
原作jQuery manual可能有用吗?
描述:执行所有处理程序和 附加到匹配的行为 给定事件类型的元素。
答案 2 :(得分:1)
它允许您触发或运行事件。例如,如果您希望代码模仿按钮的单击,则可以编写....
$("#myButton").trigger('click');
然后就会像你自己点击按钮一样运行。
'adjustName'是一个自定义事件。因此触发器功能正在运行该自定义事件。使用jQuery绑定函数分配自定义事件。
$("#someElement").bind('adjustName', function() {/* Some Code */});
为清晰起见,您可以创建客户事件。也许您的应用程序会打开一个文档,因此您可能希望将一个名为“openDocument”和“closeDocument”的事件分配给包含该文档的元素。