我有以下工作代码,当我点击ID为a
的{{1}}代码时,“hi”会打印到控制台。
info-toggle
<a href="#" id="info-toggle">More info</a>
但是,如果我将$.ajax({
'url': '/maps/building/' + marker.urlID,
'dataType': 'json',
'success': function(data) {
infowindow.setContent(data.html_short);
infowindow.open(map, marker);
$(document).on('click', '#info-toggle', function(event) {
event.preventDefault();
console.log('hi');
});
}
});
调用修改为以下
.on()
'hi'未打印。
来自文档:
提供选择器时,事件处理程序称为 授权。直接在事件发生时不会调用处理程序 绑定元素,但仅适用于后代(内部元素) 匹配选择器。 jQuery从事件目标起泡事件 到附加处理程序的元素(即最里面的) 最外面的元素)并为其中的任何元素运行处理程序 匹配选择器的路径。
$('#info-toggle').on('click', function(event) {
event.preventDefault();
console.log('hi');
});
引用括号selector
中的选择器或$()
函数.on()
中的第二个参数?