首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$(输入).blur()和$(输入).focusout

$(输入).blur()和$(输入).focusout
EN

Stack Overflow用户
提问于 2015-03-20 13:50:19
回答 3查看 1.9K关注 0票数 1

我有下一个html表单:

代码语言:javascript
复制
<form role="form" action="MAILTO:alejandro@distal.com.ar " method="post" enctype="text/plain" id="form-contacto"> 
  <div class="row">
    <div id="form-column" class="col-xs-12 col-sm-6 col-md-6 col-lg-6 col-sm-push-3 col-md-push-3 col-lg-push-3">
      <div class="form-group">
      <label for="name" class="sr-only">Nombre:</label>
      <input type="textbox" placeholder="ingrese su nombre" name="name" id="name" class="form-control">
      <div id="nameRequiredError" class="alert alert-danger" role="alert">El nombre es obligatorio.</div>
      <div id="nameFormatError" class="alert alert-danger" role="alert">Solo se permiten letras y puntos.</div>
      </div>
      <div class="form-group">
      <label for="email" class="sr-only">Correo electr&oacute;nico</label>
      <input type="email" placeholder="ingrese su correo electr&oacute;nico" name="name" id="email" class="form-control">
      <div id="emailRequiredError" class="alert alert-danger" role="alert">El direcci&oacute;n de correo electr&oacute;nico es obligatoria.</div>
      <div id="emailFormatError" class="alert alert-danger" role="alert">Ingrese un correo electr&oacute;nico v&aacute;lido.</div>
      </div>
      <div class="form-group">
      <label for="message" class="sr-only"></label>
      <textarea name="" id="message" cols="30" rows="10" class="form-control" placeholder="Escriba su mensaje..." sizable="false"></textarea>
      <div id="messageRequiredError" class="alert alert-danger" role="alert">Ingrese un mensaje para enviar.</div>
      <div id="messageFormatError" class="alert alert-danger" role="alert">El mensaje no tiene nig&uacute;n caracter alfanum&eactue;rico.</div>
      </div>
    </div>
  </div>
  <div class="row">
    <div id="form-column" class="col-xs-6 col-sm-3 col-md-3 col-lg-3 col-xs-push-6 col-sm-push-6 col-md-push-6 col-lg-push-6">
      <submit class="btn btn-primary form-control"> Enviar &gt;&gt; </submit>
    </div>
  </div>
</form>

当输入失去焦点时,我想验证数据输入,但我还没有捕捉到焦点。我试过所有这些:

代码语言:javascript
复制
$('#name').blur(function(event) {
    alert("blur");
});

$('#name').focusout(function(event) {
    alert("focusout");
});

// $('#name').live('focusout', function(){
//  alert("live(focusout)");
// });

// $('#name').live('blur', function(){
//  alert("live(blur)");
// });

$('#name').trigger('focusout', function(){
    alert("trigger(focusout)");
});

$('#name').trigger('blur', function(){
    alert("trigger(blur)");
});

$('#name').on('focusout', function(){
    alert("on(focusout)");
});

$('#name').on('blur', function(){
    alert("on(blur)");
});

但这些不管用,知道原因吗?我快疯了!感谢大家能读到这篇文章!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-03-20 14:03:41

在JS Fiddle http://jsfiddle.net/dfkg7dha/2/中,您的代码似乎运行良好

但是尝试在ready函数中添加事件处理程序。一旦DOM准备好让JavaScript执行,这里的代码就会运行。

代码语言:javascript
复制
$(document).ready(function () {
    $('#name').blur(function(event) {
        alert("blur: perform validation here");
    });
});

此外,为了保持清醒,请确保页面上引用了JQuery JavaScript。

票数 0
EN

Stack Overflow用户

发布于 2015-03-20 13:58:53

代码语言:javascript
复制
http://jsfiddle.net/znty7yoy/1/

这里的所有内容都应该可以工作,但我认为您遗漏了一件事-- DOM在尝试查询它之前还没有准备好。

检查小提琴-如果脚本之前的HTML -这是行不通的,如果之后-它会。

为防止出现这种情况,只需:

代码语言:javascript
复制
$(function () {
   $('#name')....
}
票数 0
EN

Stack Overflow用户

发布于 2015-10-05 11:02:28

没有jquery,您可以这样做:

代码语言:javascript
复制
var nameEl = document.getElementById("name");

nameEl.addEventListener("blur", function(){
  alert("blurry");
});

链接到代码:http://codepen.io/sp90/pen/RWpXBQ

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29168108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档