这是我创建的验证函数:

checkValidation: function (e) {
    e.stopPropagation();
    var data = $(e.target).val();
    var color = (data === '') ? '#F00' : '#000';

    $(e.target).css({ 'border': '1px solid ' + color });
}


每当触发聚焦事件时,都会调用此验证函数:

events: {
    'click #commentSubmit':'commentSubmitFun',
    'focusout #commUserName':'checkValidation',
    'focusout #commUserMsg':'checkValidation'
}


现在,我想像这样在checkValidation内部调用相同的commentSubmitFun函数:

if (userName !== '' && userComment !== '' {...}  else { this.checkValidation(); }


但是,如何将e.target传递给checkValidation函数?

最佳答案

单击时调用commentSubmitFun时,也会将其传递给event。如果打算在checkValidation中调用commentSubmitFun,则可以将event对象作为参数传递给checkValidation调用。

不过,老实说,我建议重构您的checkValidation函数以将String data作为参数。这样,每当调用checkValidation时,都必须传入要显式检查的数据。

08-07 09:04