javascript - 具有相同类的每个输入的 jQuery Focus/Blur - 有问题

标签 javascript jquery html css

fiddle 在这里:http://jsfiddle.net/44zAy/11/

但是,如果您在第一个输入框内单击,然后在第二个输入框内单击,则第一个输入框将关闭,如果您单击 x 按钮,则同样如此。

我需要的是,即使我在另一个输入中单击,它也能保持打开状态,并且只有在我模糊它而不是通过关注另一个输入时才关闭它。这可能吗?

代码:

var inputWdith = '185px';
var inputWdithReturn = '68px';

jQuery('.resize-close').hide();

jQuery(".resize-input").on('focus', function() {
 jQuery(this).animate({
  width: inputWdith
 },400);
 jQuery(this).promise().done(function(){
  jQuery(this).next('.resize-close').show();
 });
}).bind('blur', function() {
 jQuery(this).animate({
  width: inputWdithReturn
 },500);
 jQuery(this).next('.resize-close').hide(); 
});

jQuery('.resize-close').click(function(){
  jQuery(this).prev('.resize-input').animate({
  width: inputWdithReturn
 },500);; 
});

最佳答案

要快速修复当前代码,请使用 event.relatedTarget: http://jsfiddle.net/QKVL9/

问题是,当您点击第二个输入时,第一个输入会触发“blur”事件。所以快速修复是检查是否有 event.relatedTarget != null。如果有 relatedTarget,则停止执行第一个输入的 'blur' 事件。

但我建议完全重构这段代码:)

关于javascript - 具有相同类的每个输入的 jQuery Focus/Blur - 有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21268226/

相关文章:

javascript - Jquery .on() 不调用选择器

html - 使用 CSS 访问网页背景

html - 加载内容一直滚动到底部

javascript - Javascript 中的自定义警报无法正常工作

javascript - 如何访问计算器的 p 标签值

html - 4 列 Div 布局

javascript - 点击特定选项卡即可获取对应的详细信息

javascript - 独立div js

javascript - Express Route Handler 不会针对文件类型路径触发

javascript - 如何通过 jQuery 添加/更新 href 属性的参数?