同步2个不同元素的事件

时间:2013-09-16 11:17:42

标签: javascript jquery html

我有一个设置,其中正在评估文本框的onblur事件以进行验证。如果无效,验证将打开确认对话框。提交的onclick(img元素)提交表单。问题是,当用户在文本框中键入任何内容并直接单击img按钮时,两个事件都会触发。对话框打开,但表单也会被提交。它应该不是这样的:调用blur事件应取消提交事件或同步两者。在jsfiddle它运作正常。知道它可能是什么?我可以检查确认对话框是否打开?这是一个纯粹的JavaScript组件。如果有可能发现,我无法弄明白。请帮忙!!

Example

<input type='text' id='textbx'/>
<img id='btn' src='http://www.urgenthomework.com/images/submit.jpg'/>

逻辑:

$('#textbx').blur(function(){
    alert("I'm blur");
});
$('#btn').click(function(){
   alert("I'm clicked!!!");
});

但它在小提琴中运作良好。实际上我在文本框上使用自动填充插件,所以在更改/模糊事件中它在内部进行验证,我根据需要进行了修改。

1 个答案:

答案 0 :(得分:0)

您可以添加指标。

$(function(){
     var isValid = false;
     $('#textbx').blur(function(){

         //some condition
         //for example if length > 4

         if($(this).val().length > 4)
         {
             isValid = true;
         }
     });
     $('#btn').click(function(){
         if(isValid)
         {
             alert("I'm clicked!!!");
         }
     });
});

jsFiddle