我正在尝试使用AJAX加载一些输入和放大器选择在页面上显示以后的内容。我正在做这样的事情。
<input type='product' alt='2'/>
$("input[type='product']").on("focusin", function(){
var product_type_ids = $(this).attr('alt');
$(this).autocomplete({
// ajax load the information here
});
});
<select type='product' alt='2'/>
$("select[type='product']").on("focusin", function(){
var product_type_ids = $(this).attr('alt');
// some codes here
});
对于从页面渲染开始时存在的选择和输入,但是对于稍后出现的元素,结果是正常的。有谁知道这里发生了什么?谢谢!
答案 0 :(得分:1)
它的事件授权。改变选择器。
$("body").on("focusin", "input[type='product']", function(){
$("body").on("focusin", "select[type='product']", function(){
这将允许元素事件传播到静态父级,例如&#39; body&#39;在这种情况下。这也适用于所有未来的元素。