javascript - jQuery 验证器的 addMethod 不支持 Firefox 中的事件对象

标签 javascript jquery jquery-validation-engine

我已经在输入类型文本上添加了自定义验证,并且我正在通过检查事件类型进行自定义验证:

$.validator.addMethod("customVal", function (value, element, options) {
   if (event.type == "blur" || event.type == "focusout" || event.type == 
      "keydown" || event.type == "click") {
       //custom logic
    }
}

此代码在 Chrome 中有效,但在 Firefox 上我收到错误:

Reference error for event object.

我尝试在参数列表中添加事件,如下所示:

函数(值、元素、选项、事件)

但这没有用。

最佳答案

$.validator.addMethod()的方法中没有事件参数。您无法决定哪个事件将在方法本身内部调用该方法,因为到那时已经太晚了,该方法已经被调用了。您可以在 validate() 内执行此操作功能。

假设您的表单是 <form id="myForm"> ,您可以禁用 onkeyup 上的验证像这样的事件:

$("#myForm").validate({
    onkeyup: false,
    //rules: {
    //},
    //messages: {
    //}
});

关于javascript - jQuery 验证器的 addMethod 不支持 Firefox 中的事件对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48860142/

相关文章:

javascript - 可折叠的 div - 删除图片保持标题

javascript - 输入字段的总计值

javascript - 在显示页面之前使用 jquery ajax 加载图像和声音

javascript - jQuery 始终将文本输入解析为字符串 - 如何将 val 检索为 int 或 float?

javascript - 显示 JSON 返回的错误消息

javascript - 检测实际的表单提交并显示加载器

javascript - 如何访问javascript中有空格的对象参数

javascript - 有没有办法隐藏起点上的字符?

javascript - JQuery 验证引擎无法在 Firefox 或 IE 上运行