2016-05-17 11 views
0

後、私は次のような画面を持って判断します。変更イベントをするとき、ユーザーがクリック解雇されcolumn.Now私はBOX2の下のテキストボックスのchangeイベントを結合したボタンをクリックすると、右のテキストボックスの値を変更

enter image description here

を値を変更した後に表示されますが、ボックス2のテキストボックスで変更を加えた後、ユーザーが画面内のボタンをクリックしないようにします。

これは、テキストボックスのいずれかを変更した直後にユーザーがクリックしたときに、特定のボックスのchangeイベントがいつもと同じように発生するようにすると、そのクリックを防止したいということです。

最後のウィジェットやイベントで発生したイベントを見つけることは可能ですか?奇妙に聞こえますが、最後に起こったことがテキストボックスの変更であると判断できる場合は、ボタンのクリックを止めることができます。あなたがテキストボックスに変更するコードから見ることができます

//Change listener of textboxes 
    jQuery('#parent').on('change','.textbox',function(e){ 

     var btn = jQuery(this).closest('.button');   
     if(btn.length){ 
      jQuery(this).addClass('red',500,function(){ 
      var poObj = {'changedRef':{'val':jQuery(this)}};  
      btn.triggerHandler('click',poObj); 
      }); 
     } 
     }); 

    //this is a buttonClick 
     jQuery('.button').on('click',handlerBtnClick); 

は、実際にユーザーが行った後、別の行のボタンをクリックすると、問題があるそのrow.Butにある対応するボタンのクリックを呼んでいますボックス内で変更します。

アイデアをお願いしますか?

ありがとう

+0

あなたはそれがすでに変更されたかどうかを判断するために変数の値をチェックし、最初の時間変化にグローバル変数を設定しようとするだろうか? –

+0

あなたはボタンonchangeを無効にすることはできませんし、onblurを再び有効にすることができますか? – Pete

+0

@ Pete残念ながら、無効なボタンの数に関係する別のロジックに影響するので、ボタンを無効にすることはできません。 'jQuery( 'button')。on( 'click'、function(){return false})' changeイベントが発生しますが、ボタンの元のクリックハンドラが発生します。変更イベントに時間がかかるためです。 –

答えて

0

p.s.

event.typeはトリガーされたイベントを示します。関数func2()が呼び出されるとき、

変数eventTpにevent.typeを割り当てます(eventTpを例えば用)

1)Click function for your button(eg:func1()) 

2)Change function for your textboxs(eg:func2()) 

は、グローバル変数を宣言してもらいます。 func1()が呼び出されると、eventTp変数の値が(変更)であるかどうかを確認します。

「はい」の場合はfalseを返し、イベントが発生しないようにします。

これが役に立ちます。

+0

ボタンがクリックされたときに最後のアクションがテキストボックスに加えられた変更かどうかを判断する必要があります.Event.typeは現在のイベントのタイプを返します –

+0

はい。 changeイベントがテキストボックスに対してトリガーされると、event.typeを変数に格納します。クリックイベントがボタンに対してトリガーされると、前にトリガーされたイベントが変更イベントであった場合に検出できる変数の値をチェックします。 – SidTechs1

0

このような意味ですか?

var button = document.getElementById('button'); 
 

 
document.getElementById('box2').addEventListener('change',function(){ 
 
    button.disabled = true; 
 
}); 
 

 
document.getElementById('box1').addEventListener('change',function(){ 
 
    button.disabled = false; 
 
});
<input type='text' id='box1'> 
 
<input type='text' id='box2'> 
 
<button id='button'>Button</button>

関連する問題