html 对新元素执行addClass时,Jquery类选择器不工作

hgqdbh6s  于 2022-12-09  发布在  jQuery
关注(0)|答案(1)|浏览(178)

我在按以下步骤验证我的表单时遇到以下问题
1-'required'验证已添加到输入

<input type="text" 
   name="current_mileage_meter" 
   value="" 
   id="current_mileage_meter" 
   class="form-control 
   form-control-sm" 
   validation="required|decimal">

2-点击保存按钮后,验证函数被调用,如果输入为空,我使用input.addClass("is-invalid");和类在检查输入时正确地添加到此输入

<input type="text" 
    name="current_mileage_meter" 
    value="" id="current_mileage_meter" 
    class="form-control 
    form-control-sm is-invalid" 
    validation="required|decimal">

3-'is-invalid'的keyup上的jQuery选择器如下所示添加,但它在此输入上不起作用

$(".is-invalid").on('keyup', function() {
   $(this).removeClass("is-invalid");
})

**注意:**当输入已经有类'is-invalid'时,加载页面时其工作正常。

jQuery版本3.6.0也存在与3.6.1相同的问题

$(".is-invalid").keyup( function() {
    $(this).removeClass("is-invalid");
})

也没起作用

m4pnthwp

m4pnthwp1#

您需要将事件处理程序附加到输入的 Package 器上。这里我使用了一些糟糕的颜色和css来说明-它开始时是无效的,然后删除它,然后添加另一个类-只是为了显示转换。当然很难看,但应该演示活动。注意我还显示了delgateTargetcurrentTarget- Package 器和元素在这里发挥作用。参考:https://api.jquery.com/category/events/event-object/
第一个

相关问题