模糊/焦点不起作用

时间:2015-06-17 11:26:29

标签: javascript jquery focus blur

我有多个具有相同类别的div - ' .new-contact.clearfix.invite'。 div包含一些输入。

我只想在单独/输入不同行中的某个输入(每个div是不同的行)时对表单(其类是' invitePartners)执行验证。

我尝试了以下操作,但未触发事件:

  $('.invite').on('blur','.new-contact.clearfix.invite', function () {
 $('.invitePartners').valid()
})

div的示例:

<div class="row">
    <div class="new-contact clearfix invite">
            <div class="first-name invite">
                <input type="text" id="firstName1" class="signup-input firstName required" name="first[1]" placeholder="">
            </div>
        <div class="last-name">
                <input type="text" id="lastName1" class="signup-input lastName" name="last[1]" placeholder="optional">
            </div>
                <input type="text" data-index="1" id="inputMail1" class="signup-input mail" name="email[1]" placeholder="e.g. example@url.com" aria-invalid="true">
                <span class="common-sprite sign-up-cross first clone"></span>
            </div>
    </div>

</div>

3 个答案:

答案 0 :(得分:0)

引用JQuery on帮助页面:

  

焦点模糊事件由W3C指定为不冒泡,但jQuery定义了跨浏览器 focusin 焦点发生泡沫的事件。

这意味着当您从.new-contact.clearfix.invite触发时,您的模糊事件不会上移到DOM,因此.invite

无法赶上

答案 1 :(得分:0)

$('body').on('blur','.new-contact.clearfix.invite input', function () {
   $('.invitePartners').valid()
});

答案 2 :(得分:0)

尝试.focusout()...

$('.invitePartners', this).valid();

您的元素不是很清楚,您应该在问题中发布HTML。如果您只是尝试使用与模糊元素相关的元素,则可能需要使用类似......

的内容
array_walk($your_array, function(&$v){
    $v = implode(',', $v);
});