javascript – 如何通过jQuery向元素添加函数?

前端之家收集整理的这篇文章主要介绍了javascript – 如何通过jQuery向元素添加函数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想做这样的事情:
$('.dynamicHtmlForm').validate = function() {
  return true;
}

$('.dynamicHtmlForm .saveButton').click(function() {
  if (!$(this).closest('.dynamicHtmlForm').validate()) {
    return false;
  }

  return true;
});

然后当我有一个类dynamicHtmlForm时,我希望能够提供一个自定义的validate()函数

$('#myDynamicHtmlForm').validate = function() {
  // do some validation

  if (there are errors) {
    return false;
  }

  return true;
}

但是当我这样做时,我得到了这个:

$(this).closest(".dynamicHtmlForm").validate is not a function

我所描述的甚至可能吗?如果是这样,我做错了什么?

解决方法

jQuery.fn.validate = function(options) {

   var defaults = {
       validateOPtions1 : '',validateOPtions2 : ''
   };

   var settings = $.extend({},defaults,options);
   return this.each(function() {      
       // you validation code goes here
   });
};

$(document).ready(function() {

   $('selector').click(function() {

       $('some selector').validate();

       // or if you used any options in your code that you
       // want the user to enter. then you go :    
       $('some selector').validate({
            validateOPtions1: 'value1',validateOPtions2: 'value2'
       });

   });

});

猜你在找的jQuery相关文章