我可以做这个

jQuery.fn.validate = function(options) {
    var defaults = {
        validateOPtions1 : '',
        validateOPtions2 : ''
    };

    var settings = $.extend({}, defaults, options);

    return this.each(function() {
        // you validation code goes here
    });
};


但这将使validate()可用于每个元素。我可以对任何元素执行此操作:$('some selector')。validate()。

有什么办法可以使它仅适用于表单元素?例如。 $('。mySpecialFormClass')。validate()?

最佳答案

如果您确实不希望函数对<form>标记以外的任何东西起作用,则必须使该函数引发异常。

jQuery.fn.formsOnly = function() {
  return this.each(function() {
    if (!$(this).is('form')) throw "Forms only!";
    // whatever
  });
};

关于javascript - 如何在jQuery中将函数添加到特定元素类型?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2640964/

10-12 15:23