选择onfocusin做某事不起作用



我正在尝试使用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
});

对于从页面呈现开始就存在的选择和输入,结果是可以的,但对于稍后出现的元素则不可以。有人知道这里发生了什么吗?谢谢

这是事件委派。更改选择器。

$("body").on("focusin", "input[type='product']", function(){
$("body").on("focusin", "select[type='product']", function(){

这将允许元素的事件传播到静态父级,例如本例中的"body"。这也适用于未来的所有元素。

最新更新