尝试使用 ajax 内容触发事件,其父元素也加载了 ajax。
<div id="content"><!-- NOT ajax-loaded -->
<div id="location"> <!-- #location IS ajax-loaded -->
<div id="add_location> <!-- #add_location IS ajax-loaded from a #location event -->
<input type="text" id="add_location_city_example" />
<input type="text" id="add_location_state_example" />
<input type="submit" id="add_location_confirm" />
</div>
</div>
</div>
$(function(){
$('#content').on('click', '#add_location_confirm', function(){
console.log('debug 1');
add_location();
// will not be called
});
$('#location').on('click', '#add_location_confirm', function() {
console.log('debug 2');
// will not be called either
add_location();
});
});
如果我有 onclick="add_location()" 和函数 add_location() { console.log('debug 3); } 在我的 .js 中,那么它显然会被调用,但是我无法得到 $('#add_location_city_example').val() 因为它都不会在 dom 中。
注意:使用 1.9.1